私は非常に醜いハックをしました。
2つのjarファイルを生成するモジュールAがあります。
moduleA.jar and moduleA.test.jar
module.test.jarは、同じリポジトリ内の他のプロジェクトによって使用され、他のリポジトリにそれ以上公開されることはありません。
これをmoduleAのivy.xmlに追加しました
<publications>
<artifact name="moduleA" type="jar" ext="jar" conf="compile"/>
<artifact name="moduleA.test" type="jar" ext="jar" conf="test"/>
</publications>
moduleBでそれをどのように消費できますか。Mavenがモジュールごとに複数のアーティファクトをサポートしていないことを理解しており、これがIVYでサポートされていることをどこかで読みました。私はそれを書いてもらうことができないようです。
moduleBのivy.xmlでこれを試しました:
<dependency org="my.org" name="moduleA" rev="SNAPSHOT" conf="compile,test->default,test" />
<dependency org="my.org" name="moduleA.test" rev="SNAPSHOT" conf="compile,test->default,test" />
しかし、「name」はアーティファクトではなくモジュールの名前であるため、これは明らかに機能しませんでした。type属性を使用する回避策がありました:moduleAで:
<artifact name="moduleA" type="test.jar" ext="jar" conf="test"/>
およびmoduleB:
<dependency org="my.org" name="moduleA" rev="SNAPSHOT" conf="compile,test->default,test" />
これは機能しましたが、非常に醜いようです。ANTで次のようなファイルを作成する必要があるため:
moduleA-SNAPSHOT.test.jar
同じモジュールの複数のアーティファクトに依存するための適切な解決策はありますか?
この質問IDは次のように異なり ます。モジュールXの複数のアーティファクトがApacheIvyの同じファイルに取得されるのを解決するにはどうすればよいですか?