5

非常に小さなプロジェクトで依存関係を解決するためにIvyを使用しています。私がそれをするのは初めてであり、私のプロジェクトは非常に小さいので、学ぶことはもっと多くなります。

5分前にlog4jをダウンロードしようとしたときに問題が発生しました。

私の構成は非常に基本的で、アリのタスクがあります:

<target name="resolve" description="--> retrieve dependencies with ivy">
        <ivy:retrieve/>
    </target>

そして私のIvy.xmlファイルはこのようなものです:

    <dependency org="javax.servlet" name="servlet-api" rev="2.5" />
    <dependency org="log4j" name="log4j" rev="1.2.15" />


</dependencies>

コンソールに表示されているように、ivyがjms 1.1(log4jに必要だと思います)をダウンロードしようとすると、問題が発生するようです。

:

:::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]      ::              FAILED DOWNLOADS            ::
[ivy:retrieve]      :: ^ see resolution messages for details  ^ ::
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]      :: javax.jms#jms;1.1!jms.jar
[ivy:retrieve]      :: com.sun.jdmk#jmxtools;1.2.1!jmxtools.jar
[ivy:retrieve]      :: com.sun.jmx#jmxri;1.2.1!jmxri.jar
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::

何か私にできることはありますか ?

どうもありがとう。

F

4

1 に答える 1

9

問題は、お気づきのように、これらの jar がリモート リポジトリにないことです。しかし、実際にはプログラムに必要ではないかもしれません。Ivy がそれらをダウンロードしようとする唯一の理由は、それらが ibiblio の pom.xml で宣言されているためです。バージョン 1.2.14 を試すと、これらの推移的な依存関係が 1.2.14 の pom にないことがわかり、Ivy はそれらをダウンロードしません。

または、1.2.15 を使い続けたい場合は、ivy.xml ファイルにexclude 要素を追加して、 Ivy にこれらのライブラリを無視するように指示できます。

<dependency org="log4j" name="log4j" rev="1.2.15">
  <exclude org="com.sun.jdmk"/>
  <exclude org="com.sun.jmx"/>
  <exclude org="javax.jms"/>
</dependency>

それが役立つことを願っています:)

于 2009-10-20T18:50:14.490 に答える