Standard-Java-Bibliothekspfad?
-
21-12-2019 - |
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?
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
undLD_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