默认 Java 库路径?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/20038789/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Default Java library path?
提问by 2mac
I understand that you can set the Java library path with an option (-Djava.library.path=/path/to/libs
) before executing the program, but is there a place on the system where Java looks if you don't set it manually?
我知道您可以-Djava.library.path=/path/to/libs
在执行程序之前使用选项 ( )设置 Java 库路径,但是如果您不手动设置 Java,系统上是否有某个位置可以查看它?
采纳答案by Matt Ball
Its default value depends on the operating system:
其默认值取决于操作系统:
- On Windows, it maps to
PATH
- On Linux, it maps to
LD_LIBRARY_PATH
- On OS X, it maps to
DYLD_LIBRARY_PATH
- 在 Windows 上,它映射到
PATH
- 在 Linux 上,它映射到
LD_LIBRARY_PATH
- 在 OS X 上,它映射到
DYLD_LIBRARY_PATH
回答by Yichao Zhou
However, Matt Ball is not totally correct.
然而,马特鲍尔并不完全正确。
On my Linux box, my Java library path is
在我的 Linux 机器上,我的 Java 库路径是
/usr/lib64/icedtea6/jre/lib/amd64/server:/usr/lib64/icedtea6/jre/lib/amd6ib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
While my LD_LIBRARY_PATH
is /usr/local/lib64
.
虽然我的LD_LIBRARY_PATH
是/usr/local/lib64
.
回答by DKroot
For Java 8, this differs based on OS. This is the behavior I observed:
对于 Java 8,这因操作系统而异。这是我观察到的行为:
- Windows 10/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
andLD_LIBRARY_PATH
variables are ignored. Moreover, both these variables are removed from the environment of Java applications. - Linux CentOS 7/Open JDK 8:
java.library.path=$LD_LIBRARY_PATH:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
- Windows 10/Oracle JDK 8:
java.library.path=%PATH%;.
- MACOS埃尔卡皮坦/ 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
和LD_LIBRARY_PATH
变量被忽略。此外,这两个变量都已从 Java 应用程序的环境中删除。 - Linux CentOS 7/Open JDK 8:
java.library.path=$LD_LIBRARY_PATH:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib