Hallo,
ich weiß es gibt bereits ettliche Themen rund um DLLs in Java einbinden, aber so seltsam es auch klingt, es will ums verrecken nicht klappen.
Ich sitze da nun schon Tage dran!
Das Problem ist folgendes:
Ich habe ein recht umfangreiches Programm welches auf JOGL basiert. In Eclipse funktioniert dies auch einwandfrei.
Nun will ich dieses Programm aber releasen und benötige dafür ein runable Jar. Das Problem hierbei ist nun die sache mit den DLLs, keine Sorge, mir geht es NICHT um das Extrahieren und anschließende Laden von dlls aus einem Jar, ich weiß dass das nur auf Umwegen möglich ist.
Obwohl die dlls im selben Ordner liegen wie mein JAR-File, werden diese NICHT gefunden/geladen.
Ich habe es mit System.loadLibrary(lib) probiert.
Ich habe es mit System.load(pfad+lib) probiert.
Ich habe es mit java -Djava.library.path=bla probiert.
Ich habe so ca alles probiert was ich hier dazu gefunden habe, aber es will einfach nicht. Wenn ich via System.load oder loadlib die jeweiligen libs lade, scheint alles okay zu sein (keine Fehler), aber sobald ich dann auf Funktionen in meinem Programm ausführe, die auf JOGL basieren, knallts mit der Meldung, dass keine jogl lib im java.library.path liegen würde, selbst dann, wenn ich die 1 zeile vor dem Funktionsaufruf noch mal via System.load lade.
Wenn ich den lib path via -Djava.library.path=bla auf den Ordner der Libs setzen will, bekomme ich auf der Console nur ne ClassNotFound meldung (mit ausgabe des neu gewählten Pfades).
Es ist mir ein absolutes Rätsel und ich kau langsam aber sicher an der Tischkante -.-.
Hat irgendjemand eine Idee?
EDIT:
OS ist W7 64 Bit, VMs sind JRE6 x86 und JR6 x64 (führe das Programm in der x86er aus da die libs 32 Bit sind).
Jar liegt in e:\Coding\SAFI\SAFI.jar
Libs liegen in e:\Coding\SAFI
ich weiß es gibt bereits ettliche Themen rund um DLLs in Java einbinden, aber so seltsam es auch klingt, es will ums verrecken nicht klappen.
Ich sitze da nun schon Tage dran!
Das Problem ist folgendes:
Ich habe ein recht umfangreiches Programm welches auf JOGL basiert. In Eclipse funktioniert dies auch einwandfrei.
Nun will ich dieses Programm aber releasen und benötige dafür ein runable Jar. Das Problem hierbei ist nun die sache mit den DLLs, keine Sorge, mir geht es NICHT um das Extrahieren und anschließende Laden von dlls aus einem Jar, ich weiß dass das nur auf Umwegen möglich ist.
Obwohl die dlls im selben Ordner liegen wie mein JAR-File, werden diese NICHT gefunden/geladen.
Ich habe es mit System.loadLibrary(lib) probiert.
Ich habe es mit System.load(pfad+lib) probiert.
Ich habe es mit java -Djava.library.path=bla probiert.
Ich habe so ca alles probiert was ich hier dazu gefunden habe, aber es will einfach nicht. Wenn ich via System.load oder loadlib die jeweiligen libs lade, scheint alles okay zu sein (keine Fehler), aber sobald ich dann auf Funktionen in meinem Programm ausführe, die auf JOGL basieren, knallts mit der Meldung, dass keine jogl lib im java.library.path liegen würde, selbst dann, wenn ich die 1 zeile vor dem Funktionsaufruf noch mal via System.load lade.
Wenn ich den lib path via -Djava.library.path=bla auf den Ordner der Libs setzen will, bekomme ich auf der Console nur ne ClassNotFound meldung (mit ausgabe des neu gewählten Pfades).
Es ist mir ein absolutes Rätsel und ich kau langsam aber sicher an der Tischkante -.-.
Hat irgendjemand eine Idee?
EDIT:
OS ist W7 64 Bit, VMs sind JRE6 x86 und JR6 x64 (führe das Programm in der x86er aus da die libs 32 Bit sind).
Jar liegt in e:\Coding\SAFI\SAFI.jar
Libs liegen in e:\Coding\SAFI