默认 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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-12 22:33:17  来源:igfitidea点击:

Default Java library path?

javajava.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_PATHis /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_PATHand LD_LIBRARY_PATHvariables 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_PATHLD_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