ivy を使用してプロジェクトに jersey-servlet を含めようとしています。私の依存関係は次のようになります。
<dependency org="com.sun.jersey" name="jersey-servlet" rev="${jersey.version}"/>
...しかし、未解決の依存関係がいくつかあります:
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: UNRESOLVED DEPENDENCIES ::
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: org.eclipse.persistence#org.eclipse.persistence.moxy;2.3.2: not found
[ivy:resolve] :: org.jboss.spec.javax.interceptor#jboss-interceptors-api_1.1_spec;${interceptor.api.version}: not found
[ivy:resolve] :: javax.inject#javax.inject;${atinject.api.version}: not found
[ivy:resolve] :: org.jboss.weld#weld-api;1.1.4.Final: not found
[ivy:resolve] :: org.jboss.weld#weld-spi;1.1.4.Final: not found
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
私の調査によると、weld-spi/api 1.1.4.Finalは存在しません。これらは、weld-osgi-bundle-1.1.4.Final.jar の依存関係のようです。しかし、その jar を開いて META-INF ディレクトリ内を掘り下げると、weld-spi/api 1.1.Finalへの参照が存在します。
さらに、maven リポジトリでは、weld-osgi-bundle 1.1.4.Final の依存関係テーブルのバージョン列に何も表示されません。
アイビーはすべての依存関係について、weld-osgi-bundle の 1.1.4.Final バージョンにデフォルト設定されているのに対し、maven は依存関係の正しいバージョンを見つける場所を知っているのでしょうか?
アイビーでこれを回避する方法はありますか?
==> Eyads のコメントに基づいて、現在動作中の ivy.xml で更新中:
ivy.xml には次の依存関係があります。
<dependency org="com.sun.jersey" name="jersey-servlet" rev="${jersey.version}" transitive="false"/>
<dependency org="org.jboss.weld" name="weld-api" rev="1.1.Final" force="true"/>
注意してください、moxy 依存関係を乗り越えるために eclipselink リポジトリも追加する必要がありました。
<ibiblio
name="eclipselink"
m2compatible="true"
root="http://download.eclipse.org/rt/eclipselink/maven.repo"
/>