Zum Inhalt springen

Jar-Datei mit JBuilder erstellen?


Empfohlene Beiträge

Geschrieben

Hallo,

ich habe es inzwischen geschafft, eine jar-Datei zu erstellen. Durch einen Doppelklick wird mein Programm auch geöffnet, aber irgendwann bekomme ich eine "NotClassDefFoundError"-Exception.

???

Eigentlich habe ich angegeben, dass alle Klassen und Ressourcen eingefügt werden sollen. Warum findet der die also nicht???

Finde ich echt nicht logisch!

Kann mir jemand einen Tip geben???

Danke, Fine

Geschrieben

Ich gehe mal davon aus, dass du dein Java Programm jetzt außerhalb vom JBuilder ausführen willst. Hast du deine Jar-Datei auch dem Classpath beim aufruf der Java.exe hinzugefügt? Nur dann wird auch dieses Jar-File durchsucht.

Falls du das gemacht hast, dann schau dir doch mal das Jar-File etwas genauer an. Du kannst es einfach mit winzip öffen. Wie sehen da die Pfade der Class-Files aus? Da dürfen keine absoluten Pfade stehen.

Geschrieben

Ich habe aus dem Classpath keine Datei übernommen. Muss ich das? Wieso?

In meiner Anwendung geht es um xml-Dateien, die ich einlese. Dafür binde ich packages von org.jdom... ein. Davon scheint eine Klasse auf die Klasse org.w3c.dom.Node zuzugreifen. Und die ist nicht in der jar-Datei mit drin. ???

Ich bin noch nicht ganz dahinter gestiegen, welche Klasse Node denn aufruft. In der Fehlermeldung steht eine Methode von meinen Klassen ganz oben. Aber ich benutze Node nicht. ???

Geschrieben

dann scheint er also deine eigenen Klassen, die in der Jar-Datei sind, zu finden.

Aber du mußt eben darauf achten, dass auch die JDom-Klassen (das Jdom-Jar) mit im Classpath sind und eben auch die org.w3c.dom.* . Offensichtlich fehlen dir die im Moment.

Geschrieben

Das behinderte ist, dass die jdom-Klassen in dem Zip-Archiv sind, die org.w3c.dom.* nicht.

Außerdem soll ich die Anwendung auch auf anderen Rechnern laufen. Und die Klassen sind in dem jdk1.3 nicht dabei.

Also muss ich die irgendwie in das jar-Archiv packen. Nur wie sage ich das dem JBuilder???

Geschrieben

diese ganzen xml-klassen bekommst du ja schon als fertige jar-files. Such danach mal bei Sun und bei Apache. Ich weiß jetzt selber nicht auswendig, welche das sind.

Und diese jar-files müssen dann mit in den Classpath. Damit hat der JBuilder dann nix zu tun.

Geschrieben

Hab's mal mit dem Classpath versucht, hat sich aber nix geändert.

Die Klassen, die ich brauch, habe ich.

Wenn ich die Anwendung aus dem JBuilder starte, funktioniert auch alles wunderbar.

Nur das dumme Archiv will nicht!

Geschrieben

poste doch mal deinen Classpath...bzw deinen komplette java.exe Aufruf. mit dem du dein Programm startest.

und beschreib mal das Verzeichnis, in dem du alles liegen hast und ausführst...

Dass der JBuilder dein Programm startet ist klar, weil der schliesslich auch wei, wo die einzelnen Klassen liegen. Der benutzt anscheinend einen anderen Klassloader als die java.exe

Geschrieben

Mein Classpath: (die jdom-Klassen stehen nicht drin, die sind ja im Archiv)

D:\Apps\JBuilder5\jdk1.3\lib\tools.jar;

d:\user\xml\jaxp-1.1\crimson.jar;

d:\user\xml\jaxp-1.1\jaxp.jar;

d:\user\xml\jaxp-1.1xerces.jar

Der Aufruf, den der JBuiler macht:

D:\Apps\jbuilder5\jdk1.3\bin\javaw -classpath "D:\user\mdkosst\Abschlussprüfung\4-Code\vibrox\classes;D:\user\mdkosst\xml\jdom-b7\build\jdom.jar;D:\user\mdkosst\xml\jaxp-1.1\crimson.jar;D:\user\mdkosst\xml\jaxp-1.1\jaxp.jar;D: \user\mdkosst\xml\jaxp-1.1\xalan.jar;D:\Apps\jbuilder5\jdk1.3\demo\jfc\Java2D\Java2Demo.jar;D:\Apps\jbuilder5\jdk1.3\jre\lib\i18n.jar;D:\Apps\jbuilder5\jdk1.3\jre\lib\jaws.jar;D:\A pps\jbuilder5\jdk1.3\jre\lib\rt.jar;D:\Apps\jbuilder5\jdk1.3\jre\lib\sunrsasign.jar;D:\Apps\jbuilder5\jdk1.3\lib\dt.jar;D:\Apps\jbuilder5\jdk1.3\lib\tools.jar" vibrox.ViBroX

Wenn ich das jar-File aufrufe:

>java -jar "d:\user\mdkosst\Abschlussprüfung\4-Code\vibrox\vibrox.jar"

Meine Klassen liegen alle in:

d:\user\mdkosst\Abschlussprüssprüfung\4-Code\vibrox\classes

Die jdom.jar-Datei liegt in:

d:\user\mdkosst\xml\jdom\build

Die Dateien xerces.jar, xalan.jar und crimson.jar (die nicht gefunden werden) liegen in:

d:\user\mdkosst\xml\jaxp-1.1

Geschrieben

Entweder hast du dich jetzt vertippt, oder ich habe gerade deinen Fehler gefunden:

Das ist ein Teil deines Classpaths

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>

d:\user\xml\jaxp-1.1\crimson.jar;

d:\user\xml\jaxp-1.1\jaxp.jar;

d:\user\xml\jaxp-1.1xerces.jar

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...