dependency記述

ああ、やっぱりだ。
ということで、dependencyを渋々書く。
ビルド環境の見た目が変わると、それを説明するのが面倒なのだが・・・こっそりやってしまうか?


ところで気がついたこと。
groupIdが古かったりすると、

[WARNING] While downloading springframework:spring:1.2.3
  This artifact has been relocated to org.springframework:spring:1.2.3.

と怒られるので、その通りに修正する。


Hibernateが依存しているjta.jarだけcentralから取得できなかった。

1) javax.transaction:jta:jar:1.0.1B

  Try downloading the file manually from:
      http://java.sun.com/products/jta

  Then, install it using the command:
      mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta \
          -Dversion=1.0.1B -Dpackaging=jar -Dfile=/path/to/file

  Path to dependency:
        1) hoge:hoge:war:1.0-SNAPSHOT
        2) org.hibernate:hibernate:jar:3.0.5
        3) javax.transaction:jta:jar:1.0.1B


仕方がないのでここを見ながら手動でインストールする。
(見やすくするために改行入り)

mvn
 -X -s %MAVEN_HOME%\conf\settings.xml
 install:install-file
  -Dfile=D:\hoge\jta.jar
  -DgroupId=javax.transaction
  -DartifactId=jta
  -Dversion=1.0.1B
  -Dpackaging=jar


ビルドできるlibを設定したら、あとはwar:warを実行しておしまい。
scm:checkoutでチェックアウト先をsrc/main/webappにしておけば、WEB-INF/libにあるjarがdependencyに関わらずそのままwarに含まれる。


さて、さらなる課題。
1.WEB-INF/java/hoge/hoge.xmlのように、java直下ではないファイルがwarに含まれない(WEB-INF/java/hoge.xmlは大丈夫)。これは嘘。そもそも.class以外が含まれていなかった。
2.テストが動いてない
3.META-INF/maven〜は必要なの?