私の意見では、依存関係の構成マッピングを指定することをお勧めします。
以下のivyファイルが問題なく機能しました。説明したように、ルビージャーだけがダウンロードされました。
<ivy-module version="2.0">
<info organisation="org.demo" module="demo"/>
<configurations>
<conf name="compile"/>
<conf name="runtime" extends="compile"/>
<conf name="test" extends="runtime"/>
</configurations>
<dependencies>
<dependency org="org.jruby" name="jruby-complete" rev="1.6.6" conf="compile->default"/>
</dependencies>
</ivy-module>
ここでは、ローカルの「コンパイル」構成をデフォルトのリモート構成にマップしました。 (Mavenモジュールでは、デフォルトのivy設定が "コンパイル"スコープに変換されます)。
私はremote POM fileに掘っ:
<properties>
<jar.scope>provided</jar.scope>
..
..
<dependency>
<groupId>org.jruby.joni</groupId>
<artifactId>joni</artifactId>
<scope>${jar.scope}</scope>
</dependency>
<dependency>
<groupId>org.jruby.extras</groupId>
<artifactId>jnr-netdb</artifactId>
<scope>${jar.scope}</scope>
</dependency>
...
をすべての余分なdepedenciesは "提供" Mavenのスコープで宣言されています。問題の
カップル:設け範囲を瓶に使用されるのMavenで
1) そのモジュールをコンパイルするために必要とされます。ターゲットランタイム環境の一部であるため、パッケージ化する必要はありません。同様に、そのような依存関係はモジュールの推移的な依存関係としては必要ないので、ダウンロードする必要はありません。
2) すべてのJARファイルはすべてMaven Centralリポジトリにあります。あなたはアイビー・コンフィギュレーション・マッピング
<ivysettings>
<property name="ivy.checksums" value=""/>
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain">
<ibiblio name="central" m2compatible="true"/>
</chain>
</resolvers>
</ivysettings>
3を省略することを選択した場合、以下の設定ファイルには、すべてを取得します) 次のエラーがジャンクチェックサムによって引き起こされます。私の提供された設定ファイルはこのチェックを無効にします...あなたは、リモートリポジトリ上
[ivy:resolve] :::: WARNINGS
[ivy:resolve] problem while downloading module descriptor: http://repo1.maven.org/maven2/org/jruby/extras/bytelist/1.0.8/bytelist-1.0.8.pom: invalid sha1: expected=e40ee094403473e43f71e21cf9cbf71f08d2098b computed=a9627bc7e42f886e290985367040794adb676320 (977ms)
[ivy:resolve] module not found: org.jruby.extras#bytelist;1.0.8
ありがとう、私はjrubyメーリングリストにこの情報を載せました。 –