题
我明白你可以用一个选项设置Java库路径(-Djava.library.path=/path/to/libs
)在执行程序之前,但是如果不手动设置,系统上是否有Java看起来的地方?
解决方案
其默认值取决于操作系统:
- 在Windows上,它映射到
PATH
- 在Linux上,它映射到
LD_LIBRARY_PATH
- 在OS X上,它映射到
DYLD_LIBRARY_PATH
其他提示
然而,亚光球并不完全正确。
在我的Linux盒子上,我的Java Library Path是
/usr/lib64/icedtea6/jre/lib/amd64/server:/usr/lib64/icedtea6/jre/lib/amd6ib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
.
虽然我的LD_LIBRARY_PATH
是/usr/local/lib64
。
对于Java8,这取决于操作系统。这是我观察到的行为:
- Windows10/Oracle JDK8:
java.library.path=%PATH%;.
- macOS El Capitan/Oracle JDK8:
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 CentOS7/打开JDK8:
java.library.path=$LD_LIBRARY_PATH:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
不隶属于 StackOverflow