0

次のツタの依存関係を考慮して、

<dependency org="org.fusesource.restygwt" name="restygwt" rev="1.3"
 conf="gwtcompile->default; compile->default"/>

<dependency org="org.jboss.resteasy" name="resteasy-jaxrs" rev="2.3.4.Final"
 conf="compile->compile(*),runtime(*);runtime->runtime(*)"/>

それらは、によってミラーリングされたパブリックMavenリポジトリに依存します

http:// myivyserver:8888 /mirrored/。

にチェーンするivysettingsリゾルバーによって指定された...

<url name="mirrored" m2compatible="true">
  <artifact
    pattern="http://myivyserver:8888/mirrored/${maven2.artifact.pattern}" />
</url>

ミラーリングされたディレクトリがリモートのMavenリポジトリのアーティファクトを完全に複製しているのを見ることができます。

私はMavenに慣れており、EclipseでビルドパスがMavenの依存関係を示しているのを確認しています。

現在、プロジェクトのIvy依存関係を作成しています。Ivy eclipseプラグインが原因で、すべてのjarが表示されている同様のIvy依存関係ノードが表示されることを期待しています。

ただし、EclipseビルドパスのIvy依存関係ノードには、ミラーリングされたpomsによって推移的に指定されたjarは表示されません。

例えば、

<dependency org="org.fusesource.restygwt" name="restygwt" rev="1.3"
 conf="gwtcompile->default; compile->default"/>

<dependency org="org.jboss.resteasy" name="resteasy-jaxrs" rev="2.3.4.Final"
 conf="compile->compile(*),runtime(*);runtime->runtime(*)"/>

両方の依存関係のpomは、javax.ws.rs(jsr311-api)への依存関係を指定します

<dependency>
  <groupId>javax.ws.rs</groupId>
  <artifactId>jsr311-api</artifactId>
  <version>1.1</version>
  <scope>provided</scope>
</dependency>

ただし、javax.ws.rs(jsr311-api)は、Mavenが管理するプロジェクトのように、ivyが管理するプロジェクトのビルドパスライブラリに表示されません。

Maven Pomsに起因する推移的な依存関係を解決するためにivyプラグインを取得するには、さらに何をする必要がありますか?

ありがとうございました。

4

1 に答える 1

1

URLリゾルバーはMavenレイアウトを考慮しますが、pom依存関係は考慮しません。私がこの機能を実装していたとき、ibiblioリゾルバーはpomの依存関係を解決することができました。

http://ant.apache.org/ivy/history/latest-milestone/resolver/ibiblio.html
<ibiblio name="maven2" m2compatible="true" root="http://myivyserver:8888/mirrored">

コードで非推移的な依存関係を優先したため、長い間使用していませんでした。そのため、純粋なURLリゾルバーの使用を終了しました。

于 2012-08-30T20:33:17.367 に答える