2011-08-17 8 views
11

मैं चींटी और टेस्टएनजी 6.1.1 का उपयोग कर रहा हूं, और मेरे पास सिर्फ परीक्षण चल रहे थे कल ठीक है। आज जब मैं परीक्षण चलाने की कोशिश करता हूं तो मुझे कॉम/बीस्ट/जमेन्डर/पैरामएक्सप्शन शामिल नोक्लास डीफफाउंड एरर मिलता है। यहाँ आउटपुट है:अचानक एंटी से टेस्टएनजी परीक्षण नहीं चला सकता है ([testng]: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException)

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="Single Method Suite"> 
    <test name="Single Method Test"> 
    <classes> 
     <class name="DhcpTest"> 
     <methods> 
      <exclude name=".*" /> 
      <include name="setGetEnabledTest" /> 
     </methods> 
     </class> 
    </classes> 
    </test> 
</suite> 

मैं भी कोई भाग्य के साथ वर्ग के लिए पूरा पथ निर्दिष्ट किया है:

[copy] Copying 1 file to /Users/djohnson/src/webapp/components/build/tmp 
[testng] Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 
[testng] Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException 
[testng] at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
[testng] at java.security.AccessController.doPrivileged(Native Method) 
[testng] at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
[testng] at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
[testng] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
[testng] at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
[testng] The tests failed. 

यहाँ मैं उपयोग कर रहा हूँ .xml फ़ाइल है। मैंने क्लासपाथ की जांच की है और सबकुछ ठीक लगता है, क्या किसी के पास इस पर कोई विचार है?

+0

ठीक है, classpath को jcommander-1.17.jar तो मैं जोड़ लिया है, और मैं अभी भी एक ही त्रुटि मिलती है। – anotherdjohnson

+0

अब मैंने इसे दुनिया भर के लिए पोस्ट करने के लिए पोस्ट किया है, मैंने पाया कि jcommander वास्तव में कक्षा में नहीं था। मुझे यकीन था कि मैंने इसे वहां देखा है, लेकिन यकीन है कि यह गायब था। अब यह परीक्षण नहीं मिल रहा है, यकीन नहीं क्यों, क्योंकि मैंने क्लासपाथ को तीन बार चेक किया है, और यह निश्चित रूप से वहां है। – anotherdjohnson

उत्तर

8

यदि आप चींटी का उपयोग कर रहे हैं, तो JCommander testng.jar के अंदर होना चाहिए, इसलिए मुझे लगता है कि आपकी testng.jar फ़ाइल दूषित हो सकती है।

+0

सेड्रिक, आप सही हैं, मैंने वेबसाइट से testng.jar की एक प्रति डाउनलोड की है और यह एक jcommander जार होने के साथ बस ठीक काम किया। हम आईवी का उपयोग कर रहे हैं तो जाहिर है कि इसमें कैश में भ्रष्ट फाइल है। मुझे उस पर ध्यान देने की ज़रूरत होगी। मेरी मदद करने के लिए धन्यवाद, फिर भी। – anotherdjohnson

+0

इसे सुनकर खुशी हुई। एफवाईआई, 'आरएम-आरएफ ~/.ivy2/org.testng' समस्या का ख्याल रखना चाहिए। –

+1

सेड्रिक, यह पता चला है कि मैं जिस फ़ाइल का उपयोग कर रहा हूं वह वही फ़ाइल है जो मैवेन 2 रिपोजिटरी में है, इसलिए इसे अपने आईवी कैश से हटाकर मदद नहीं मिलती है। क्या कैश में फ़ाइल में कोई समस्या है, या यहां कुछ और चल रहा है? – anotherdjohnson

0

testng.jar क्लासपाथ में नहीं हो सकता है।

+0

जैसा कि मैंने अपनी मूल पोस्ट में उल्लेख किया है, मैंने कक्षा पथ की जांच की है। कृपया ऊपर सेड्रिक की प्रतिक्रिया देखें। – anotherdjohnson

4

अपने उपयोग कर Maven (जैसे jcommander-1.29.jar) अपने pom.xml को यह जोड़ने

<dependency> 
    <groupId>com.beust</groupId> 
    <artifactId>jcommander</artifactId> 
    <version>1.30</version> 
</dependency> 
3

jcommander.jar फ़ाइलसेट निर्देशिका जो build.xml में उल्लेख किया गया है पर मौजूद होना चाहिए की कोशिश

आप से डाउनलोड कर सकते: http://mvnrepository.com/artifact/com.beust/jcommander/1.27

या,

JCommander testng.jar अंदर चींटी का उपयोग कर के दौरान किया जाना चाहिए। आपकी testng.jar फ़ाइल दूषित हो सकती है, इसलिए कृपया पुराने testng.jar को नए द्वारा प्रतिस्थापित करें।

0

मुझे एक गैर-मेवेन प्रोजेक्ट के साथ यही समस्या थी। मैंने मेवेन सेंट्रल से टेस्टिंग जार को पुनर्प्राप्त किया, लेकिन इसमें टेस्टएनजी की सभी निर्भरताएं शामिल नहीं थीं। टेस्टएनजी साइट से सीधे जार डाउनलोड करने से समस्या हल हो गई, क्योंकि इसमें निर्भरताएं शामिल हैं।

मैं TestNG's download page पर निर्देशों के लिए और अधिक ध्यान दिया जाना चाहिए था ...

TestNG के नवीनतम संस्करण को चींटी उपयोगकर्ताओं के लिए Maven सेंट्रल या यहाँ से डाउनलोड किया जा सकता है।

0

मेरे चींटी शुरुआत से काम कर रहा है जब मैं Maven रिपोजिटरी से jcommandar जार डाउनलोड किया है और मेरी जार फ़ाइल

में यह जोड़ा लेकिन यह समस्या यहाँ TestNG के साथ आने वाले 6.8.5 संस्करण

0

समस्या शुरू होता है क्या टेस्टएनजी जार के कुछ संस्करणों में उनके अंदर jcommander jar कोड नहीं है। नतीजतन, आपको अलग-अलग Jcommander जार में क्लासपाथ जोड़ना होगा।

जब आप चलाने के लिए यह समस्या ठीक हो जाएगी अपने classpath को Jcommander जार जोड़ा जा रहा है, उम्मीद है कि

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