NoClassDefFoundError
-
Ich habe das zweifelhafte Vergnügen, mich mit Bereichen zu befassen, die ganz offensichtlich mal gelaufen sind (zuletzt August 2003) und heute nicht mehr funktionieren. Da ich auf die entsprechenden Leute heute keinen Zugriff mehr habe, darf ich mich jetzt selbst (noch) ziemlich ahnungslos durchwuseln.
Das Problem:
Y:\develop\Client\MGBAO\JavaDev\Generate>java org.apache.xalan.xslt.Process -IN "Y:\XML_Rep\newStruct/GUIRepositoryGlobals.xml" -XSL "q:/iGate/XML\StyleMobileGa teway\XSP-Files\build\buildproject.xsl" -OUT Y:\develop\Client\MGBAO\JavaDev\Pro ject\IIModule700.jcp -param GUI "Y:\XML_Rep\newStruct/GUIRepository700.xml" -par am MG_DIR Y:\develop\Client\MGBAO\ Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xalan/xslt /Process
Der obige Aufruf soll über XALAN (Version 1) Projektdateien zum Kompilieren der noch zu erzeugenden java-Dateien erzeugen. Jedoch scheint Java (Version 1.3.1) bereits mit dem ersten Parameter sein Problem zu haben.
Finden konnte ich das Verzeichnis Q:\DevTools\xml-xalan-java\compat_src\org\apache\xalan\xslt mit einigen Java-Dateien, wobei in mehreren Dateien eine Klasse process vorhanden ist.
Frage: Wie findet java die auszuführende Klasse? Weiß jemand Rat?
-
Hi
die Fehlermeldung besagt, das java die Klasse org/apache/xalan/xslt/Process nicht kennt. Diese Klasse sollte sich in irgend einem Jar file inerhalb des CLATHPATH befinden (ich tip mal auf sowas wie xslt.jar oder so). Ist dies nicht der fall, solltest du die notwendigen Jar files zusammensuchen und in den classpath einbinden.
gruss Termite
-
Auf CLASSPATH bin ich auch schon gekommen (hätte ich auch erwähnen sollen). Hier reichte offenbar bislang immer nur der Pfad auf das Lib-Verzeichnis der Java-Installation.
Nachdem ich jetzt zumindest kapiert habe, das hier wohl eher nach *.jar als nach *.java-Dateien zu suchen ist (schließlich rufe ich ja auch dauernd die CPP-Dateien auf, um das Programm auszuführen ), half mit das leider auch noch nicht weiter. Die Klasse fehlt weiterhin.
Ich habe CLASSPATH erweitert um:
Q:\DevTools\xml-xalan-java\bin
Q:\DevTools\xml-xalan-java\bin\
und
xalan.jarauch in Kombination. Die Datei befindet sich um Verzeichnis Q:\DevTools\xml-xalan-java\bin\.
Die Recherchen über Google brachten lediglich ans Licht, das es um die Datei xalan.jar geht. Ansonsten nur viele Fragen mit demselben Problem. Es ist zum Auswachsen
-
Die Ausgabe der Systemvariablen kurz vor der Fehlermeldung brachte es ans Licht!
Es war natürlich CLASSPATH und eine vernünftige Antwort auf das Problem konnte ich genauso natürlich nicht erwarten. Daher danke an alle, die sich mit dem Problem beschäftigt haben.
Wenn so eine Pappnase irgendwo in den Erstellungsskripts CLASSPATH mit irgend einem Schwachsinn bügelt, kann es auch nicht funktionieren. Manchmal fragt man sich, wo Dummheit aufhört und Vorsatz anfängt.