[java] JDom probleem

Pagina: 1
Acties:
  • 80 views sinds 30-01-2008

  • Sebastiaan|IA2
  • Registratie: Februari 2001
  • Laatst online: 07-09-2025
Nadat het compileren eindelijk gelukt was krijg ik bij het uitvoeren van mijn programma deze foutmelding:

Exception in thread "main" java.lang.NoClassDefFoundError: jdom.

Na even de faq van jdom te hebben gelezen werd mij duidelijk dat dit het probleem is:
You need to ensure that the xerces.jar file supplied with the JDOM download is in your classpath before any other XML classes, such as those that come with JAXP or Crimson.
Nu heb ik in mn classpath het volgende erbij gezet:

C:\jdk1.3.1\src.jar;c:\jdom-b7\build\jdom.jar;C:\jdom-b7\lib\xerces.jar;

Met als resultaat .......... helemaal niets :(

Wat doe ik fout waardoor dit niet werkt ?

(System: WinXP, Java: 1.3.1_04 JDom: build 7)

Alvast bedankt

AMD XP2000+, 756MB, GF4 4600, 120GB, 17" TFT + klassieke 8 speed brander. Tevens eigenaar van een IRiver 'The craft' 256 MB mp3 speler :)


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

zet anders de xerces.jar in de lib van je jdk
dat was bij mij de oplossing :)

  • Sebastiaan|IA2
  • Registratie: Februari 2001
  • Laatst online: 07-09-2025
Heb mn classpath een beetje aangepast, die xerces staan nu in de lib van mn sdk:

c:\jdom-b7\build\jdom.jar; C:\jdk1.3.1lib\xerces.jar; C:\jdk1.3.1\bin;

Compileren gaat alleen als ik het classpath van jdom meegeef, dus javac -classpath c:\jdom-b7\build\jdom.jar jdom.java

en bij het uitvoeren krijg ik dan dit:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jdom/output/XMLOutputter

Wat doe ik nou nog fout :?

AMD XP2000+, 756MB, GF4 4600, 120GB, 17" TFT + klassieke 8 speed brander. Tevens eigenaar van een IRiver 'The craft' 256 MB mp3 speler :)


Verwijderd

Misschien, weet ik ook niet zeker....

...maar heb je de jar-file anders toevallig niet in je /lib/ext directory staan. Als ik in die directory een jar-file plaats dan heb ik nergens last van.

  • Sebastiaan|IA2
  • Registratie: Februari 2001
  • Laatst online: 07-09-2025
Op dinsdag 30 oktober 2001 13:27 schreef mr.beidehand het volgende:
Misschien, weet ik ook niet zeker....

...maar heb je de jar-file anders toevallig niet in je /lib/ext directory staan. Als ik in die directory een jar-file plaats dan heb ik nergens last van.
Nee, dit werkt bij mij helaas niet :(

AMD XP2000+, 756MB, GF4 4600, 120GB, 17" TFT + klassieke 8 speed brander. Tevens eigenaar van een IRiver 'The craft' 256 MB mp3 speler :)


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13

MaxxRide

Surf's up

Geef de -classpath directive eens op als je het programma probeert te runnen.

If you are not wiping out you are nog pushing enough...


  • Sebastiaan|IA2
  • Registratie: Februari 2001
  • Laatst online: 07-09-2025
Op dinsdag 30 oktober 2001 13:44 schreef Pinda het volgende:
Geef de -classpath directive eens op als je het programma probeert te runnen.
Dan run ik m zo:

java -cp c:\jdom-b7\lib\xerxes.jar;c:\jdom-b7\build\jdom.jar jdom

en dan krijg ik deze error:

Exception in thread "main" java.lang.NoClassDefFoundError: jdom

Wat is dit :?

AMD XP2000+, 756MB, GF4 4600, 120GB, 17" TFT + klassieke 8 speed brander. Tevens eigenaar van een IRiver 'The craft' 256 MB mp3 speler :)


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13

MaxxRide

Surf's up

Zet \. eens in je classpath.
Weet je zeker dat je class jdom heeft (is er dus ook een bestand jdom.class), en ook de commandline van JAVA is case-sensitive!!!

If you are not wiping out you are nog pushing enough...


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Black_Hole: Dan run ik m zo:

java -cp c:\jdom-b7\lib\xerxes.jar;c:\jdom-b7\build\jdom.jar jdom

en dan krijg ik deze error:

Exception in thread "main" java.lang.NoClassDefFoundError: jdom
Lijkt mij toch vrij logisch ;) . Je probeert hier de klasse genaamd "jdom" te runnen. Waarschijnlijk bestaat deze niet. Je geeft in de je commando eerst de classpath op en daarna de klassenaam.

Overigens is het toevoegen van Xerces niet strikt noodzakelijk als je JAXP al geinstalleerd hebt. JAXP komt met crimson, die ook aardig XML kan parsen. Xerces is completer, maar ik vermoed dat je dat nog niet nodig hebt.

Het zou in ieder geval gewoon moeten werken als je zorgt dat jdom.jar in je classpath staat en er een parser kan geworden gevonden via JAXP. Je kan jdom in de extensions directory zetten, maar je kan het uiteraard ook gewoon los opgeven.

Overigens is die src.jar die ik ergens in je classpath zag staan absoluut niet nodig, want die bevat alleen Java source code...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Sebastiaan|IA2
  • Registratie: Februari 2001
  • Laatst online: 07-09-2025
Op dinsdag 30 oktober 2001 15:08 schreef mbravenboer het volgende:

[..]

Lijkt mij toch vrij logisch ;) . Je probeert hier de klasse genaamd "jdom" te runnen. Waarschijnlijk bestaat deze niet. Je geeft in de je commando eerst de classpath op en daarna de klassenaam.
Mhhh, ik had mn java file jdom genoemt, dus dan wordt t jdom.java. Heb het veranderd in jtest (voor de duidelijkheid) en compile de file als volgt:

javac -classpath c:\jdom-b7\build\jdom.jar jtest.java
Overigens is het toevoegen van Xerces niet strikt noodzakelijk als je JAXP al geinstalleerd hebt. JAXP komt met crimson, die ook aardig XML kan parsen. Xerces is completer, maar ik vermoed dat je dat nog niet nodig hebt.
Ik heb tot nu toe alleen de binary van JDom binnengehaald en deze geinstalleerd. Ik heb de bijbehorende build uitgevoerd, en verwijs dus middels mijn bovenstaande classpath naar de jdom.jar uit de build directory van JDom. Mijn vraag, als ik JAXP zie, moet ik dat dan ook installeren ofzo :?
Het zou in ieder geval gewoon moeten werken als je zorgt dat jdom.jar in je classpath staat en er een parser kan geworden gevonden via JAXP. Je kan jdom in de extensions directory zetten, maar je kan het uiteraard ook gewoon los opgeven.
Overigens is die src.jar die ik ergens in je classpath zag staan absoluut niet nodig, want die bevat alleen Java source code...
Jah, :D , hoe ik daar inene bij kwam :o

AMD XP2000+, 756MB, GF4 4600, 120GB, 17" TFT + klassieke 8 speed brander. Tevens eigenaar van een IRiver 'The craft' 256 MB mp3 speler :)


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Black_Hole: Mhhh, ik had mn java file jdom genoemt, dus dan wordt t jdom.java. Heb het veranderd in jtest (voor de duidelijkheid) en compile de file als volgt:

javac -classpath c:\jdom-b7\build\jdom.jar jtest.java
Owh ok. Het is sowieso wel goed om Java klassenamen altijd met een hoofdletter te laten beginnen, maar een kleine letter mag het probleem niet veroorzaken.

Het is mij alleen niet duidelijk of je met jtest dezelfde fout krijgt?
Ik heb tot nu toe alleen de binary van JDom binnengehaald en deze geinstalleerd. Ik heb de bijbehorende build uitgevoerd, en verwijs dus middels mijn bovenstaande classpath naar de jdom.jar uit de build directory van JDom.
Hum als je nu eens gewoon de meegeleverd .jar gebruikt in de binary distributie? Misschien dat jouw build verkeerd is gegaan?
Mijn vraag, als ik JAXP zie, moet ik dat dan ook installeren ofzo :?
Nee, die heb je in principe niet nodig vor gebruik in JDOM. Ik was er even vanuit gegaan dat je die misschien al had, dan had je ook niet moeilijk hoeven te doen met Xerces nl.
Jah, :D , hoe ik daar inene bij kwam :o
Kan gebeuren ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Sebastiaan|IA2
  • Registratie: Februari 2001
  • Laatst online: 07-09-2025
Op dinsdag 30 oktober 2001 15:32 schreef mbravenboer het volgende:

[..]

Owh ok. Het is sowieso wel goed om Java klassenamen altijd met een hoofdletter te laten beginnen, maar een kleine letter mag het probleem niet veroorzaken.
Heb ik meteen maar meegenomen. Altijd handig dit soort tips ;)
Het is mij alleen niet duidelijk of je met jtest dezelfde fout krijgt?
[..]

Hum als je nu eens gewoon de meegeleverd .jar gebruikt in de binary distributie? Misschien dat jouw build verkeerd is gegaan?
[..]

Nee, die heb je in principe niet nodig vor gebruik in JDOM. Ik was er even vanuit gegaan dat je die misschien al had, dan had je ook niet moeilijk hoeven te doen met Xerces nl.
[..]

Kan gebeuren ;) .
Doe je helemaal moeite een verhaaltje te schrijven, wordt alleen de quote neergezet :(

Maar goed, het werkt nu, wat ik heb gedaan is de java file compileren met het volledige classpath. Daarna heb ik de class file als volgt opgestart:

java -classpath c:\jdom-b7\build\jdom.jar;c:\jdom-b7\lib\xerxes.jar;C:\JDomFiles\ JdomTest

Tevens heb ik dus de filenaam voor de duidelijkheid maar even aangepast. Nu werkt het dus wel, maar ik moest wel de dir waarin ik de classfile run, aan het classpath toevoegen. Iets zegt mij dat dit niet de bedoeling hoeft te zijn, maar ik ben er nog niet uit hoe ik het nou makkelijker kan runnen. Dit zou ik wel graag willen weten :)

AMD XP2000+, 756MB, GF4 4600, 120GB, 17" TFT + klassieke 8 speed brander. Tevens eigenaar van een IRiver 'The craft' 256 MB mp3 speler :)


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Black_Hole: Maar goed, het werkt nu
Mooi :) .
Nu werkt het dus wel, maar ik moest wel de dir waarin ik de classfile run, aan het classpath toevoegen. Iets zegt mij dat dit niet de bedoeling hoeft te zijn, maar ik ben er nog niet uit hoe ik het nou makkelijker kan runnen. Dit zou ik wel graag willen weten :)
Oplossing: .

Als je de . in de classpath zet wordt de huidige directory opgenomen in de classpath opgenomen. Standaard staat die er al in, maar als je classpath zelf opgeeft kan die eruit gaan.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Sebastiaan|IA2
  • Registratie: Februari 2001
  • Laatst online: 07-09-2025
Op dinsdag 30 oktober 2001 16:25 schreef mbravenboer het volgende:

Oplossing: .

Als je de . in de classpath zet wordt de huidige directory opgenomen in de classpath opgenomen. Standaard staat die er al in, maar als je classpath zelf opgeeft kan die eruit gaan.
That's all ???

Arrgg, nou ja, nu weet ik in ieder geval waar het aan ligt. Hartelijk dank voor alle help *D

AMD XP2000+, 756MB, GF4 4600, 120GB, 17" TFT + klassieke 8 speed brander. Tevens eigenaar van een IRiver 'The craft' 256 MB mp3 speler :)


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13

MaxxRide

Surf's up

Maar doet ie het nu al ???

If you are not wiping out you are nog pushing enough...


  • Sebastiaan|IA2
  • Registratie: Februari 2001
  • Laatst online: 07-09-2025
Jaja, hij werkt helemaal naar behoren. Er wordt nu vanuit Java een XML pagina gegenereerd en die wordt opgeslagen. Dat is alles wat moest werken, dus programma werkt 8-)

edit:
Typo

AMD XP2000+, 756MB, GF4 4600, 120GB, 17" TFT + klassieke 8 speed brander. Tevens eigenaar van een IRiver 'The craft' 256 MB mp3 speler :)


  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

Dat puntje is een heel goed ding om te weten. Ik kreeg zelfs "Hello World" niet aan de praat. Maar met dat puntje dus wel....

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Dank je dat je dat na 3 jaar nog even met ons deelt 8)7

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.