Locked History Actions

Diff for "ivy/Trouble"

Differences between revisions 6 and 7
Deletions are marked like this. Additions are marked like this.
Line 69: Line 69:

[[ivy/Evicted|Evictedに注意]]を参照のこと。

トラブルとその対処

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に注意を参照のこと。