【发布时间】:2012-07-24 21:46:33
【问题描述】:
我刚刚做了一个非常丑陋的黑客攻击。
我有一个模块 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 属性的工作: 在模块A中:
<artifact name="moduleA" type="test.jar" ext="jar" conf="test"/>
在模块B中:
<dependency org="my.org" name="moduleA" rev="SNAPSHOT" conf="compile,test->default,test" />
这行得通,但看起来很丑。因为我必须在 ANT 中生成如下所示的文件:
moduleA-SNAPSHOT.test.jar
依赖同一模块的多个工件的任何巧妙解决方案?
此问题 ID 不同于: How do I solve Multiple artifacts of the module X are retrieved to the same file in Apache Ivy?
【问题讨论】: