2009-04-18 15 views
6

मैंने TestNGApache Ivy के साथ उपयोग करने का प्रयास किया, लेकिन असफल रहा। यहाँ मेरी 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 डाउनलोड करने के लिए विफल रहता है। ऐसा लगता है क्योंकि टेस्टएनजी के पास jdk14 और jdk15 के लिए एक jarfile है।

[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 

भंडार में आप दो अलग अलग 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 कैसे निर्दिष्ट करूँ यहाँ ivy:retrieve से उत्पादन हो रहा है?

उत्तर

8

आपको इच्छित कलाकृति के वर्गीकरण को निर्दिष्ट करने की आवश्यकता है।

संबंधित fix as of 2.1.0-RC1 है। निर्दिष्ट करने के लिए आप dependency तत्व के भीतर तत्व artifact का उपयोग कर सकते हैं। इस मामले में, वर्गीकरण 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> 

नोट ivy-module तत्व की विशेषता के रूप XML नामस्थान "http://ant.apache.org/ivy/extra" के विनिर्देश। इसके बिना e:classifier काम नहीं करेगा।

संबंधित मुद्दे