2009-04-18 12 views
6

Apache Ivy ile TestNG kullanmayı denedim, ancak başarısız oldu. İşte benim ivy.xml geçerli: Bu aslında bir TestNG JARDOSYASI indirmek için başarısızTestNG'yi Apache Ivy ile nasıl kullanırım?

<ivy-module version="2.0"> 

    <info organisation="me" module="myproject"/> 

    <dependencies> 
     <dependency org="org.testng" name="testng" rev="5.8" /> 
    </dependencies> 

</ivy-module> 

. TestNG jdk14 ve jdk15 için bir jarfile sahip gibi görünüyor. İki farklı jarfiles görebilirsiniz depo olarak

[ivy:retrieve] :: resolving dependencies :: me#myproject;[email protected] 
[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 

: 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

nasıl ya jdk14 veya jdk15 belirtebilirim İşte ivy:retrieve çıktısı var?

cevap

8

İstediğiniz yapay maddenin sınıflandırıcısını belirtmeniz gerekir.

İlgili bir fix as of 2.1.0-RC1 var. İstediğiniz classifier değerini belirtmek için dependency öğesindeki artifact öğesini kullanabilirsiniz. Bu durumda, sınıflandırıcı jdk14 veya jdk15 olmalıdır.

<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> 

Not ivy-module elemanın bir niteliği olarak XML ad "http://ant.apache.org/ivy/extra" spesifikasyonu: o zaman olurdu jdk15 senin ivy.xml istiyorum. Bu olmadan e:classifier çalışmaz.