eigene Bibliothek benutzen

gbunge

Aktives Mitglied
Hallo,

beim Starten eines Projektes ausserhalb NetBeans mit DoppelKlick
auf die, in einen Ordner 'Apps' kopierte Jar-Datei, teilt mir ein Popup mit:
Code:
Die Java-Jar-Datei "Bank.jar" konnte nicht geöffnet werden.
Überprüfen Sie die Konsole auf mögliche Fehlermeldungen.

Der Test in der Konsole ergibt folgendes:
Code:
erde:~ gb$ java -jar aJava/Apps/Bank.jar
Exception in thread "main" java.lang.NoClassDefFoundError: myjava/util/Gb_File
   at Bank.Bank.switchPanel(Bank.java:154)
   at Bank.Bank.<init>(Bank.java:100)
   at Bank.Bank.main(Bank.java:446)
Caused by: java.lang.ClassNotFoundException: myjava.util.Gb_File
   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
   ... 3 more
erde:~ gb$

Die angemoserte Klasse 'Gb_File' liegt in einer Bibliothek, die
ich mit deren absolutem Pfad in das Projekt eingebunden habe.

Innerhalb NetBeans gestartet ist alles OK,
ausserhalb NetBeans mit 'java -jar' im dist-Ordner des Projekts gestartet, alles OK,
ausserhalb NetBeans mit DoppelKlick im dist-Ordner des Projekts gestartet, alles OK,
nur die kopierte Jar-Datei macht Ärger, sowohl mit DoppelKlick als auch klassisch
mit java -jar in der Konsole.

Woran kann das liegen? Ich weiß mir keinen Rat mehr.

Gruß GBunge
 

Tobse

Top Contributor
Das Problem ist, dass der Ordner "lib" aus "dist" nichtmehr da ist. Das einbinden über einen absoluten Pfad schafft da leider keine Abhilfe, weil:

Netbeans kopiert die eingebundenen JARs beim kompileiren nach dist/lib. In die MANIFEST.MF der erzeugten JAR schreibt es dann den Classpath, der auf den lib Ordner zeigt.

Lösung: den lib ordner mit kopieren.
 

Ähnliche Java Themen

Neue Themen


Oben