2009-06-06 8 views
0

Ich habe "stax-utils.jar" in das extensions-Verzeichnis ([JAVA_HOME]/jre/lib/ext) gestellt, aber ant's Java-Task kann ‚t es finden, geben:ant's java task kann kein jar im jre/lib/ext-verzeichnis finden

java.lang.NoClassDefFoundError: javanet/staxutils/IndentingXMLStreamWriter 

Merkwürdigerweise funktioniert es für die Erstellung: Ameise javac Aufgabe es finden kann. Das Problem ist nur mit Code ausgeführt wird, mit der Ameise java Aufgabe ...

  • Wenn ich Java von der Befehlszeile verwenden, das Glas zu finden ist, und ich kann Klassen verwenden.

  • Wenn ich explizit den Klassenpfad zu diesem bestimmten Jar im Erweiterungsverzeichnis angeben, funktioniert es auch.

(ich dieses Problem habe gesehen, mit einem der XML-Bibliotheken.)

+0

Ist es javanet.staxutils ... oder java.net.staxutils ..? – Ram

+0

Ersteres (und es funktioniert für die Kompilierung und von der Befehlszeile aus, was darauf hindeutet, dass es erfolgreich auf das jar und die Klassen zugreift). http://www.java2s.com/Open-Source/Java-Document/XML/stax-utils/javanet/staxutils/IndentingXMLStreamWriter.java.htm – 13ren

Antwort

0

versuchen Sie es zu ANT_HOME/lib

+0

Nein, das hat nicht funktioniert. – 13ren

0

Sind Sie sicher, dass Sie die JVM entsprechend verwenden, um Ihre JAVA_HOME?

+0

ja. $ {java.home} gibt die JRE, die die Datei lib/ext/staxutils.jar enthält – 13ren

+0

eigentlich ... Sie scheinen richtig zu sein ... Ich habe ein wenig mehr Jagd, und $ {java.vm. Version} gibt 10.0-b19 ... aber die Kommandozeile Java-Version gibt 1.6.0_04-b12 Das komische Ding ist, dass ich Build 10 nicht installiert habe (es sei denn, Eclipse oder Netbeans installiert es irgendwo, wenn ich sie ausprobiert). – 13ren

+0

Korrektur: 10.0-b19 stammt von "Java HotSpot (TM) Client-VM (Build 10.0-b19, gemischter Modus, Freigabe)", und ich habe bestätigt, dass dies der in JAVA_HOME ist (indem Sie zum Verzeichnis gehen und tippen) "./java -version" – 13ren

0

Es ist zu spät .. Aber ich war die Ursache für diese fragen ...

Wie es Classloading von der JVM verwandt ist ... Und diese Klasse loading CLASSPATH bezieht .. ich denke, die CLASSPATH war nicht eingestellt worden verursachte das Problem lange Zeit zurück ...

Donot wissen abt die Gegenwart.

Verwandte Themen