Das leidige Thema mit den JAR-Dateien...

Benzol

Erfahrenes Mitglied
Ich bin mittlerweile richtig abgenervt. Seit zwei Tagen versuche ich, mein Programm als lauffähige JAR-Datei hinzubekommen.

Ich benutze dazu den Export von Eclipse, die Manifest ist soweit Standard. In Eclipse habe ich die externen Bibliotheken JIU und JDIC verlinkt.

Nach dem Erstellen als JAR passiert nichts. Ich habe darauf hin das Programm über die Console gestartet und er gibt mir folgenden Fehler aus

Code:
D:\Programme\LogoPrinter\build>java -jar logoprinter.jar
Exception in thread "main" java.lang.UnsatisfiedLinkError: no tray in java.libra
ry.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.jdesktop.jdic.tray.internal.impl.DisplayThread.<clinit>(Unknown S
ource)
        at org.jdesktop.jdic.tray.internal.impl.WinSystemTrayService.<clinit>(Un
known Source)
        at org.jdesktop.jdic.tray.internal.impl.ServiceManagerStub.getService(Un
known Source)
        at org.jdesktop.jdic.tray.internal.ServiceManager.getService(Unknown Sou
rce)
        at org.jdesktop.jdic.tray.SystemTray.<clinit>(Unknown Source)
        at Main.<init>(Main.java:15)
        at Main.main(Main.java:19)
Habe jetzt schon eine Weile bei Google geschaut, allerdings kein ähnliches Problem gefunden. Könnt ihr mir evtl. helfen? Offenstichtlich ist wohl, das es sich um ein Problem mit dem Tray von JDIC handet... wird die Klasse vllt. nicht gefunden? :confused:
 
Tray hat dann offenbar noch eine dll oder so dabei. Du musst deinem Programm mitteilen wo diese dll zu finden ist. Dazu setzt man beim Start den library.path.

z.B
Code:
java -Djava.library.path=lib/dll -jar myjar.jar
 
Muss ich da einen absoluten Pfad auf dem Datenträger angeben, z.B. c:\dlls oder geht der Befehl vom Jar-Archiv aus? Habe die DLL nämlich mit in dem Archiv liegen... und irgentwie klappt das nicht.

EDIT:
Ok, ich habe es jetzt bei mir zum laufen bekommen. Ich hatte leider eine DLL vergessen, mit in das Verzeichniss zu kopieren. Nun läuft es allerdings noch nicht auf der Maschine, wo es mal laufen soll. Er sagt mir, er würde die MainClass nicht finden... und das ist eigentlich nicht möglich!
 
Zuletzt bearbeitet:
Zurück