【问题标题】:Default Java library path?默认Java库路径?
【发布时间】:2013-11-18 01:53:59
【问题描述】:

我知道您可以在执行程序之前使用选项 (-Djava.library.path=/path/to/libs) 设置 Java 库路径,但是如果您不手动设置,系统上是否存在 Java 看起来的地方?

【问题讨论】:

    标签: java java.library.path


    【解决方案1】:

    其默认值取决于操作系统:

    • 在 Windows 上,它映射到 PATH
    • 在 Linux 上,它映射到 LD_LIBRARY_PATH
    • 在 OS X 上,它映射到 DYLD_LIBRARY_PATH

    【讨论】:

    【解决方案2】:

    但是,Matt Ball 并不完全正确。

    在我的 Linux 机器上,我的 Java 库路径是

    /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

    【讨论】:

    【解决方案3】:

    对于 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_PATHLD_LIBRARY_PATH 变量被忽略。此外,这两个变量都已从 Java 应用程序的环境中移除。
    • Linux CentOS 7/打开 JDK 8:java.library.path=$LD_LIBRARY_PATH:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

    【讨论】:

    • 显然 JAVA_LIBRARY_PATH 仍然适用于 El Captain 和 jdk 8,或者至少适用于最近的 1.8.0_162-b12 构建
    猜你喜欢
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多