= トラブルとその対処 =
== 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でチェックサムを無視する設定にする。
{{{
}}}
参考:<
>
http://code.google.com/p/google-guice/issues/detail?id=421
== 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 / 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への依存を記述しなければならない。
[[ivy/Evicted|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]]