كيف يمكنني استخدام Testng مع Apache Ivy؟
سؤال
حاولت استخدام 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>
فشل هذا في تحميل بالفعل Jarfile Testng. يبدو أن TESTNG لديه Jarfile ل JDK14 و JDK15. هنا الإخراج من 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
لن تعمل.