Probleme mit java.library.path

eagle1985

Mitglied
Hallo zusammen,

ich habe eine Frage zu Windows DLLs.

ich möchte in meinem Projekt DLL files laden. Diese befinden sich alle im verzeichnis E:\proj\dll

wenn ich nun java mittels -Djava.library.path=E:\proj\dll aufrufe, findet er zwar die dlls aber der "Standard"-LibraryPath wird überschrieben.

Weiss jemand wie ich den neuen Pfad einfach hinzufügen kann oder ich mittels relativer Pfadangabe (vom Run-Verzeichnis aus) die DLLs laden kann?

greez eagle
 
Hallo eagle1985,

versuch doch mal folgendes in Deiner Main Methode:

String myLibraryPath = "E:\proj\dll";
String newLibraryPath = System.getProperty("java.library.path") + ";" + myLibraryPath;
System.setProperty("java.library.path", newLibraryPath);

Sollte funktionieren falls, wie vfl_freak schon angedeutet hat, die DLL's JNI-Methoden enthalten.
Aber ich denke mal, das wird wohl der Fall sein....

Gruß Jens
 
Howdie.

Ein paar mehr Infos wären gut....
Verwendest du JNI oder JNA?
Wie lädst du die Bibliothek? Gibt es Dependencies?
Falls du JNA verwendest, wären die Punkte von meinen Vorrednern beispielsweise irrelevant, auch wenn sie Recht haben.

Und der Standard-Library-Path wird eigentlich nicht wirklich überschrieben, es handelt sich IMHO um einen temporären Eintrag, der priorisiert wird. In einem meiner JNA-Projekte habe ich den Path überschrieben und konnte trotzdem alle anderen System-Bibliotheken und installierte DLLs verwenden.

Gruß
miffi
 
Zurück