# eigene Bibliothek benutzen



## gbunge (12. Sep 2015)

Hallo,

beim Starten eines Projektes ausserhalb NetBeans mit DoppelKlick
auf die, in einen Ordner 'Apps' kopierte Jar-Datei, teilt mir ein Popup mit:

```
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:

```
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


----------



## thet1983 (17. Sep 2015)

wie lädts du die datei??


----------



## Tobse (17. Sep 2015)

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.


----------

