Frage

Ich verstehe, dass Sie den Java-Bibliothekspfad mit einer Option festlegen können (-Djava.library.path=/path/to/libs) vor dem Ausführen des Programms, aber gibt es eine Stelle auf dem System, an der Java nachschaut, wenn Sie es nicht manuell einstellen?

War es hilfreich?

Lösung

Der Standardwert hängt vom Betriebssystem ab:

  • Unter Windows wird es zugeordnet zu PATH
  • Unter Linux ist es zugeordnet zu LD_LIBRARY_PATH
  • Unter OS X wird es zugeordnet zu DYLD_LIBRARY_PATH

Andere Tipps

Matt Ball ist jedoch nicht ganz richtig.

Auf meiner Linux-Box lautet mein Java-Bibliothekspfad

/usr/lib64/icedtea6/jre/lib/amd64/server:/usr/lib64/icedtea6/jre/lib/amd6ib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

Während mein LD_LIBRARY_PATH is /usr/local/lib64.

Bei Java 8 unterscheidet sich dies je nach Betriebssystem.Dies ist das Verhalten, das ich beobachtet habe:

  • Windows 10 und Oracle JDK 8: java.library.path=%PATH%;.
  • macOS El Capitan / Oracle JDK 8: java.library.path=$JAVA_LIBRARY_PATH:~/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.. DYLD_LIBRARY_PATH und LD_LIBRARY_PATH variablen werden ignoriert.Darüber hinaus werden diese beiden Variablen aus der Umgebung von Java-Anwendungen entfernt.
  • Linux CentOS 7 / Öffnen Sie JDK 8: java.library.path=$LD_LIBRARY_PATH:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top