Jar-File und Classpath

HackZ2k8

Grünschnabel
Hallo, ich habe schon sehr viele Seiten durchkämt und finde einfach nicht die Antwort. Ich habe schon viele Seiten gesehen, die genau die selbe Problematik beschreiben, bloss funktionieren keine der dort angegebenen Lösungswege. Ich bin was Programmieren angeht nicht mehr so ein Newbie und versuch mich gerade an openGL in Java (kurz gesagt JOGL). Ich arbeite in Eclipse und habe nun ein Model-Loader geschrieben, der eine ms3d-Datei einliest und das Modell ausgibt und animiert.

Nun zu meinem Problem:

Ich möchte diese Datei nicht nur in Eclipse nutzen sondern auch ausserhalb mit einer executable-JAR starten, also exportiere ich das Project in ein Jar-File (egal ob mit Eclipse oder manuel, ich habe auch schon andere Projekte exportiert, die funktioniert haben also an der "Main-Class" in der Manifest-Datei kanns nicht liegen und die Daten sind auch richtig drin) und das Programm lässt sich leider nicht ausführen. Beim Doppelklick kommt nur "Could not find Main class. Programm will exit."
Nach meinen Suchergebnissen habe ich natürlich gefunden, dass es daran liegt, dass der CLASSPAH zu der jogl.jar nicht richtig gesetzt ist. Wenn ich nun in der Manifest-Datei "Class-Path: jogl.jar" hinzufüge und die jogl.jar ins gleiche Verzeichnis wie meine jar kopiere, dann kommt beim Doppelklick kein Fehler mehr, aber das wars dann auch, es passiert nichts... Wenn ich nun das Programm via Konsolenbefehl versuche aufzurufen "java -jar test.jar", dann wird mir irgendeine Exception geworfen, vonwegen "UnsatisfiedLinkError"... Nun dadurch bin ich auf andere Seiten gestossen, die besagen dass dann auch ein Path zu der dll fehlt, worauf ich mit verschiedenen Methoden versucht habe die jogl.dll mit einzubeziehen "java -Djava.library.path=c:\jogl.dll -jar test.jar" und andere und es kam immer der gleiche Fehler...
Nun, wie kann ich die Datei denn ausführen? Ich habe die Dateien "test.jar" (Die Datei generiert nur ein Fenster und ein glCanvas, was unter Eclipse funktioniert), jogl.jar, jogl.dll, jogl-natives-win32.jar. Wie soll meine Manifest Datei aussehen, und mit welchem Konsolenbefehl soll ich die test.jar starten?
 
zZ hab ich alle genannten Dateien im gleichen Ordner liegen, weil ich nicht genau weiss, wie ich sie zusammen zum laufen bringen kann.

MfG Jürgen
 
Ok, ich habe das Problem gefunden, weshalb es nicht funktioniert. Da ich sehr lange gebraucht hab um das Problem zu lösen und evtl jemand anders das gleiche Problem haben könnte möchte ich eine Lösungsmöglichkeit anbieten.

Es scheint so, dass ich verschiedene Versionen der jogl.dll auf meinem Rechner hatte, zu denen irgendwo im System ein Path schon gesetzt war, weshalb er die jogl.dll, die ich ihm angeboten hatte nicht geladen hatte und es zu einem Fehler kam. Ich habe zunächst alles, was mit jogl zu tun hatte auf der Festplatte gesucht und gelöscht, und dann die neuste Version 1.1.1 aufgesetzt. Danach funktionierte das so, dass ich die jogl.jar (Diesmal die neuste Version) in den selben Ordner wie die test.jar legen musste und in der test.jar in die Manifest-Datei die Zeile "Class-Path: jogl.jar" hinzufügen musste. Die dll's hab ich in den "\bin" Ordner der Java JRE gelegt, da dort automatisch ein Path angelegt wird und dort immer geschaut wird... Nun lässt sich die test.jar mit einem Doppelklick starten (Naja, mein animiertes Modell lässt sich auch starten, hab ich auch schon probiert)

MfG Jürgen
 
Zurück