Apache Ivy와 함께 testng를 어떻게 사용합니까?
문제
나는 사용하려고했다 testng ~와 함께 아파치 아이비, 그러나 실패했습니다. 여기, 내 것이요 ivy.xml
:
<ivy-module version="2.0">
<info organisation="me" module="myproject"/>
<dependencies>
<dependency org="org.testng" name="testng" rev="5.8" />
</dependencies>
</ivy-module>
이것은 실제로 testng jarfile을 다운로드하지 못합니다. TestNG는 JDK14 및 JDK15에 대한 jarfile을 가지고 있기 때문입니다. 다음은 출력입니다 ivy:retrieve
:
[ivy:retrieve] :: resolving dependencies :: me#myproject;working@jared-mbp17
[ivy:retrieve] confs: [default]
[ivy:retrieve] found org.testng#testng;5.8 in public
[ivy:retrieve] :: resolution report :: resolve 1139ms :: artifacts dl 11ms
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 1 | 1 | 1 | 0 || 1 | 0 |
---------------------------------------------------------------------
[ivy:retrieve]
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] [FAILED ] org.testng#testng;5.8!testng.jar: (0ms)
[ivy:retrieve] ==== shared: tried
[ivy:retrieve] /Users/jared/.ivy2/shared/org.testng/testng/5.8/jars/testng.jar
[ivy:retrieve] ==== public: tried
[ivy:retrieve] http://repo1.maven.org/maven2/org/testng/testng/5.8/testng-5.8.jar
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: FAILED DOWNLOADS ::
[ivy:retrieve] :: ^ see resolution messages for details ^ ::
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: org.testng#testng;5.8!testng.jar
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]
[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
저장소에서는 두 가지 다른 jarfiles를 볼 수 있습니다.http://repo1.maven.org/maven2/org/testng/testng/5.8/testng-5.8-jdk14.jar http://repo1.maven.org/maven2/org/testng/testng/5.8/testng-5.8-jdk15.jar
어느 쪽이든 어떻게 지정합니까? jdk14
또는 jdk15
?
해결책
원하는 아티팩트의 분류기를 지정해야합니다.
관련이 있습니다 2.1.0-RC1 기준으로 수정하십시오. 요소를 사용할 수 있습니다 artifact
내 dependency
지정할 요소 classifier
당신은 원합니다. 이 경우 분류기는이어야합니다 jdk14
또는 jdk15
. 네가 원한다면 jdk15
당신의 ivy.xml
그렇다면 다음과 같을 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것일 것입니다.
<ivy-module version="2.0"
xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="me" module="myproject"/>
<dependencies>
<dependency org="org.testng" name="testng" rev="5.8"
transitive="false">
<artifact name="testng" type="jar" ext="jar" e:classifier="jdk15" />
</dependency>
</dependencies>
</ivy-module>
XML 네임 스페이스의 사양에 유의하십시오 "http://ant.apache.org/ivy/extra"
의 속성으로 ivy-module
요소. 그것없이 e:classifier
작동하지 않습니다.