トラブルとその対処
Mavenリポジトリから取得できない
特にgoogle Guice/CollectionsのSHA1チェックサムが間違っていると言われてダウンロードすることができない。
[ivy:retrieve] problem while downloading module descriptor: http://google-maven-repository.googlecode.com/svn/repository/com/google/inject/guice/2.0/guice-2.0.pom: invalid sha1: expected=6c5029102c03c627275fe183377c0586a3194425 computed=3bb8d0283ecfc05ba8dae825e46980d669265333 (550ms)
解決策としては(あまりよくはないが)、ivysettings.xmlでチェックサムを無視する設定にする。
<ivysettings> <property name="ivy.checksums" value=""/> <!-- これ --> <conf defaultResolver="ibiblio"/> <resolvers> <ibiblio name="ibiblio" m2compatible="true" /> </resolvers> </ivysettings>
参考:
sources.jarしかとってこない
pom.xmlにてバイナリとソースを指定すると、なぜかソースしかとってこないことがある。 現在のところの対処法としてはソースを削除する。
Eclipse上のantでのビルド時のエラー
以下のようなエラーが発生する。 おそらく、IvyDEがeclipse-3.6にはきちんと対応していないものと思われる。
BUILD FAILED ..........\build.xml:31: Problem: failed to create task or type antlib:org.apache.ivy.ant:configure Cause: The name is undefined. Action: Check the spelling. Action: Check that any custom tasks/types have been declared. Action: Check that any <presetdef>/<macrodef> declarations have taken place. No types or tasks have been defined in this namespace yet This appears to be an antlib declaration. Action: Check that the implementing library exists in one of: -......\eclipse-3.6\plugins\org.apache.ant_1.7.1.v20100518-1145\lib -......\.ant\lib -a directory added on the command line with the -lib argument
検索してみると、
ant install.avy
を行えとあるが、どこでこれを行えばいいのか不明。 要するに、eclipse上のantがivyのjarファイルを探し出せないだけなので、以下のようにすればよい。
- 「実行>外部ツール>外部ツールの構成」メニューを実行する。
- クラスパス」タブをクリックし、「追加タスク及びサポート」をクリック
- 右側の「外部jarを追加」をクリック。
- eclipse3.6のpluginsディレクトリ中の「org.apache.ivy_*jar」を選択(ディレクトリではない)。
自作のモジュールの推移的依存を取得してこない
例えば、自作のxxxというモジュールを作成し、そのjarとpom.xmlを何らかのリポジトリにおいたとする。 このxxxはaaaやbbbに依存しているとする。
このとき、他のプロジェクトyyyにてxxxへの依存を定義すれば、aaaやbbbを自動的に取得してくるはずだが、それをしてくれない。 このため、yyyではxxxのほかにaaaやbbbへの依存を記述しなければならない。
Evictedに注意を参照のこと。
jms.jarその他が取得できないと言われる
log4jの参照しているjms.jar等がライセンスの関係でもはやリポジトリ上にない。 手早く回避するにはlog4jを1.2.14にする。
http://stackoverflow.com/questions/1574534/ivy-failed-to-resolve-dependency-what-to-check-what-to-do