jdom problem :(

anthro

Grünschnabel
hallo zusammen
leider hab ich schon etliche stunden vor dem code verbracht und bin keinen schritt weiter gekommen. wahrscheinlich ist es ein kleiner blöder fehler aber für mich leider unsichtbar.

Code:
import java.io.*;
import org.jdom.*;
import org.jdom.Document;
import org.jdom.Element; 
import org.jdom.input.*;
import org.jdom.input.SAXBuilder;
import org.xml.sax.*; 
public class ExampleJdomWrite
{
  public static void main( String[] args )
  {
	if( args.length != 1 )
	{
	  System.err.println( "Error" );
	  System.exit( 1 );
	}
	  // ---- Read XML file ----
  String dateiname = "targets.xml";
  try {
	SAXBuilder sxbuild = new SAXBuilder(true); 
	InputSource is = new InputSource(dateiname);
	Document doc = sxbuild.build(new File(args[0]));
  Element root = doc.getRootElement();
	 Element t = root.getChild("input");
	 // Name des Topics als String speichern
	 String name = t.getChild("topic").getText(); 
	 // Vorangehender Satz speichern
	 String that = t.getChild("that").getText();
   }
  catch (JDOMException j) {	// nur eine Ausnahme für alle Situationen
  }
  catch (Exception e) {  // Ausnahmebehandlung hier nur rudimentär 
  }
  }
}
es gibt dann immer ein fehler aus:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jdom/JDOMExceptio
n

weiss jemand wie man den code verbessert
gruess anthro
 
hmm...also auf jeden fall hab ich so ziemlich alles getan was in der readme.txt stand. aber vielleicht habe ich was vergessen. das jdom.jar habe ich in C:\j2sdk1.4.2_05\jre\lib\ext kopiert.
gruss
 
anthro hat gesagt.:
hmm...also auf jeden fall hab ich so ziemlich alles getan was in der readme.txt stand. aber vielleicht habe ich was vergessen. das jdom.jar habe ich in C:\j2sdk1.4.2_05\jre\lib\ext kopiert.
gruss


Nimm die Jar lieber per -cp mit den Classpath auf (bzw in einem Eclipse Projekt durch explizites hinzufügen).

Denn es gibt z.B. IDEs die jene ext Jars nicht automatisch einbinden beim Start eines Projektes
 
nun was ich getan habe ist. die build.bat ausgeführt und dann das jdom.jar das generiert wurde in C:\j2sdk1.4.2_05\jre\lib\ext kopiert. ist da was schiefgelaufen oder braucht es mehr files di in C:\j2sdk1.4.2_05\ kopiert werden müssen? bin noch ein anfänger
 
Hallo!

http://java.sun.com/j2se/1.5.0/docs/tooldocs/findingclasses.html

Klassen im ext Verzeichnis werden nach den Bootstrap Klassen geladen. Jedoch sollte man wie Christian schon erwähnte lieber auf diesen Mechanismus verzichten, da sich dadurch "unerklärliche" Fehler ala ClassNotFoundException, ClassDefNotFoundException etc. auftun können, obwohl das jar mit den vermeintlich "richtigen" Klassen im Classpath liegt aber eine Version mit dem selben Namen schon vorher aus dem ext Verzeichnis gezogen wurde...

Gruß Tom
 
es tut mir leid ich verstehe nur bahnhof. nach deinem link habe ich versucht dies zu machen und zwar so:

C:\>java -cp C:\j2sdk1.4.2_05\jdom-1.0 build.jdom.jar
und
C:\>java -classpath C:\j2sdk1.4.2_05\jdom-1.0 build.jdom.jar

aber es kommt ein
Exception in thread "main" java.lang.NoClassDefFoundError: build/jdom/jar
fehler.
das directory von jdom.jar ist
C:\j2sdk1.4.2_05\jdom-1.0\build\jdom.jar
ich bin ratlos......
 
C:\>java -classpath C:\j2sdk1.4.2_05\jdom-1.0 build.jdom.jar

java -cp C:\j2sdk1.4.2_05\jdom-1.0.jar ...

Die Jar und kein Verzeichniss einbinden
 
Zurück