我需要从常春藤项目解决maven test-jar依赖项。检索罐子没问题,但是由于某些原因,测试罐子没有得到解决......
这是我的解析器
<ibiblio name="nexus" root="${nexus-maven2-root}" pattern="${nexus-maven2-pattern}" m2compatible="true"/>
<property name="nexus-maven2-pattern"
value="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
override="false" />
在nexus中,这个神器已经解决(IBSCore-2.21-20160825.121144-2.jar),但这个没有(IBSCore-2.21-20160825.121144-2-tests.jar)。
非常感谢你的帮助!
答案 0 :(得分:0)
首先,我猜这是一个带有快照修订的模块?你常春藤的依赖声明是什么样的?
这是我最好的猜测:
<dependency org="group.goes.here" name="IBSCore" rev="2.21-SNAPSHOT" />
其次,测试jar看起来像是一个额外的模块工件,在Maven中将使用“分类器”引用,例如:
<dependency>
<groupId>group.goes.here</groupId>
<artifactId>IBSCore</artifactId>
<version>2.21-SNAPSHOT</version>
<classifier>tests</classifier>
</dependency>
所以,如果我是正确的,你可以通过在常春藤依赖中明确说明它们来检索这两个文件:
<dependency org="group.goes.here" name="IBSCore" rev="2.21-SNAPSHOT">
<artifact name="IBSCore" type="jar" />
<artifact name="IBSCore" type="jar" m:classifier="tests"/>
</dependency>
语法很奇怪,因为与Ivy不同,Maven模块的元数据没有明确列出它包含的所有文件。当Ivy从Maven存储库下载时,它支持的唯一附加文件是source和javadoc jar。有关更多痛苦的细节,请参阅:
答案 1 :(得分:0)
问题的真正原因实际上是我做了一些讨厌的蚂蚁任务:
<target name="-do-resolve-ivy-dependencies" unless="ivy.cached">
<ivy:resolve conf="default, test, test-utils" type="jar, war, bundle" log="download-only" checkIfChanged="false"/>
<ivy:cachefileset setid="default.libs.id" conf="default" log="download-only"/>
<ivy:cachefileset setid="test.libs.id" conf="test, test-utils" log="download-only"/>
<path id="default.libs.path">
<fileset refid="default.libs.id"/>
</path>
<path id="test.libs.path">
<fileset refid="test.libs.id"/>
</path>
</target>
所以类型“test-jar”没有解决。添加这个就可以了。