2012-12-12 11 views
9

सभी -taskdef चींटी कार्य नहीं पाया जा सकता है

मैं इस पृष्ठ पर सबसे सरल निर्देशों का पालन कर रहा हूँ:

http://ant.apache.org/manual/develop.html

हालांकि, जब मैं लक्ष्य पर अमल करने "मुख्य" मैं कोशिश NetBeans में इस त्रुटि मिलती है:

taskdef class dec102012.MyAntTask cannot be found using the classloader AntClassLoader[] 

लेकिन इस त्रुटि मतलब नहीं है क्योंकि मेरी नई जावा वर्ग कि फैली "टास्क" इस तरह दिखता है:

package dec102012; 

import org.apache.tools.ant.BuildException; 

public class MyAntTask extends org.apache.tools.ant.Task{ 
    private String msg; 

    // The method executing the task 
    public void execute() throws BuildException { 
     System.out.println(msg); 
    } 

    // The setter for the "message" attribute 
    public void setMessage(String msg) { 
     this.msg = msg; 
    } 
} 

मेरी build.xml में प्रासंगिक हिस्से से लगता है कि:

<taskdef name="mytask" classname="dec102012.MyAntTask" classpath="dec102012"/> 

<target name="main"> 
    <mytask message="Hello World! MyVeryOwnTask works!"/> 
</target> 
+0

'classpath = "dec102012" ' –

+0

मुझे हटाएं" मुझे वही त्रुटि मिल रही है जब मैं ऐसा करता हूं। – user1068636

उत्तर

11

समस्या चींटी classloader है यह जानने की जरूरत है कि * .class फ़ाइल कहां बैठती है।

एक बार मैं build.xml बदल तरह देखने के लिए:

<taskdef name="mytask" classname="dec102012.MyAntTask" classpath="build/classes"/> 

    <target name="main"> 
    <mytask message="Hello World! MyVeryOwnTask works!"/> 
    </target> 

यह काम किया है (यानी इसे बाहर नमस्ते विश्व संदेश मुद्रित)।

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