2011-01-26 10 views
8

हाय दोस्तों, मैं जुनीट और चींटी के लिए थोड़ा नया हूं। मुझे पता है कि क्या इस त्रुटि का अर्थ हैं:चींटी-जुनीट त्रुटि: चींटी अपने क्लासपाथ में जुनीट .jar चाहता है

The <classpath> for <junit> must include junit.jar if not in Ant's own classpath 

मैं एक जावा परियोजना संकलन कर रहा हूँ, और मैं इस बिंदु से परे नहीं मिल सकता है।

उत्तर

0

मेरा मानना ​​है कि निम्नलिखित कारण है: junit.jar आपके क्लासस्पैट पर्यावरण चर में नहीं है। या तो अपने क्लासस्पैट में junit.jar जोड़ें या इसे उस क्लासपाथ में जोड़ें जिसे आप अपनी चींटी बिल्ड फ़ाइल में परिभाषित करते हैं।

यहां एक introduction to ant है।

7

JUnit चींटी कार्य के प्रलेखन कैसे classpath पर junit.jar पाने के लिए विकल्पों की सूची देता है:

http://ant.apache.org/manual/Tasks/junit.html

आप देखने को बचाने के लिए, निम्नलिखित विकल्प reproduced कर रहे हैं। मेरी वरीयता विकल्प 1.

  1. ANT_HOME/lib में junit.jar और ant-junit.jar दोनों को रखें।
  2. या तो ANT_HOME/lib में डालें, और इसके बजाय अपने स्थान को अपने क्लासस्पैट पर्यावरण चर में शामिल करें।
  3. -lib का उपयोग करके अपने क्लासपाथ में दोनों JAR जोड़ें।
  4. बिल्ड फ़ाइल में किसी तत्व का उपयोग करके दोनों JARs के स्थानों को निर्दिष्ट करें।
  5. ANT_HOME/lib में अपने डिफ़ॉल्ट स्थान पर ant-junit.jar छोड़ दें लेकिन पास में junit.jar शामिल करें। (चींटी 1.7 के बाद से)
4
<property name="lib.dir" value="webcontent\WEB-INF\lib" /> 

<path id="classPath"> 
    <pathelement location="${lib.dir}/junit-4.11.jar" /> 
</path> 

<target name="test" depends="build"> 

    <junit haltonerror="false" haltonfailure="false" fork="yes"> 
     <classpath path="${lib.dir}"> 
      <path refid="classPath" /> 
     </classpath> 

    </junit> 
</target> 
0

मैं कोई सुराग नहीं इसका क्या मतलब है, लेकिन मेरे मामले में ऐसा लगता है ड्रॉपबॉक्स की वजह से कोई विरोध नहीं था। नेटबींस को पुनरारंभ करना इस मुद्दे को हल करता है। विंडोज का उपयोग कर मेरे लिनक्स और सहपाठियों का उपयोग करने के साथ कुछ करने के लिए कुछ हो सकता है, लेकिन मुझे यकीन नहीं है।

"बस Netbeans पुनः आरंभ" एक stackoverflow जवाब के लिए भी आसान हो सकता है, लेकिन अगर किसी को यह था, यह मेरे लिए कुछ समय बचाया है | ...

0

मैं आज इस समस्या से कुछ घंटे बिताए। गुण | | मैं परियोजना के माध्यम से सभी ग्रहण में निर्दिष्ट .jar फ़ाइलें था जावा पथ बिल्ड, लेकिन जब ग्रहण से चींटी चल अभी भी

<classpath> for <junit> must include junit.jar if not in Ant's own classpath 

त्रुटि हो रही थी।

कमांड लाइन से चींटी चलाना ठीक काम करेगा (मेरे पास क्लासपाथ पर्यावरण चर में सबकुछ था)।

लेकिन ग्रहण में केवल बात यह है कि काम को स्पष्ट रूप से तत्वों के अंदर classpath राज्य के लिए था, जैसे:

<path id="JUnit 4.libraryclasspath"> 
     <pathelement location="...\plugins\org.junit_4.11.0.v201303080030\junit.jar"/> 
     <pathelement location="...\plugins\org.hamcrest.core_1.3.0.v201303031735.jar"/> 
     <pathelement location="...\lib\ant-junit4.jar"/>   
    </path> 
    <path id="Ant1.classpath"> 
     <pathelement location="bin"/> 
     <pathelement location="."/> 
     <path refid="JUnit 4.libraryclasspath"/> 
    </path> 

... stuff... 

    <target name="test1" depends="compile"> 
     <junit> 
      <classpath refid="Ant1.classpath"/> 
     </junit> 

    </target> 

स्पष्ट JUnit तत्व के भीतर classpath को निर्दिष्ट के बिना, यह ग्रहण में हर बार टूट जाएगा, यहां तक ​​कि सिर्फ एक नंगे

<junit/> 

संदर्भ

मैं, कोई विशेषज्ञ हूँ सिर्फ रिपोर्टिंग क्या आज काम किया।

-ctb

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