2010-11-23 14 views
2

私は、次の依存関係を持っている:Antのアイビーの依存関係の解決

<dependency org="foo" name="bar" rev="1.0" conf="war-runtime->runtime" /> 

しかし、私はこれがに解決したいジャーをfoo_bar-g.jarと呼ばれています。

現時点では、瓶が存在しないために失敗するfoo_bar.jarが試行されます。

依存関係にあるjarまたはパターンの名前を指定できますか?

私はivy-settings.xmlファイルで指定されたリゾルバのリストを持っていますが、このファイルは他のアプリで共有されていますので変更できません。

+0

それはあなたのMavenのリポジトリにfoo.bar-1.0プロジェクトから "foo_bar.jar" ではなく "バー-1.0.jar" に解決?ローカルのMavenリポジトリでこの設定はどうですか? –

+0

私はmavenを使用していません。 – dogbane

答えて

2

私はこれを考え出した:あなたはbarモジュールのため、このリゾルバを使用したい

<resolvers>  
    <filesystem checkconsistency="false" checkmodified="true" name="foo.bar"> 
     <artifact pattern="//path/to/foo_bar-g.[ext]"/> 
    </filesystem> 
    </resolvers> 

状態:ivy_settings.xml

は、カスタムリゾルバを追加します。 ivy.xmlで次に

<modules> 
    <module name="bar" organisation="foo" resolver="foo.bar"/> 
    </modules> 

<dependency org="foo" name="bar" rev="1.0"> 
     <artifact name="bar" type="jar" ext="jar" conf="war-runtime->runtime"/> 
</dependency> 
0

ここに記載されているようにあなたの質問に完全に従っているわけではありません。依存関係文は、foo.bar ivy.xmlで「実行時」構成がどのように定義されているかを調べる必要があります。そこにリポジトリ内でどのjarファイルを見るかが記述されています。

これを取得すると、リゾルバの設定に応じてファイルがコピーされます。通常はbar-1.0.jarになります

どこに問題がありますか?決議では?それとも、解決して、ローカルファイルの名前があなたと違うのですか?

+0

私は別の名前に解決したい。現時点ではfoo_bar.jarに解決されていますが、私のファイルはfoo_bar-g.jarと呼ばれています。 – dogbane

関連する問題