2015-04-30 58 views
3

我只是想知道Java是如何去确定java.library.path属性的默认值?默认情况下java.library.path设置为什么?

我运行* buntu 14.04 64位,其默认值为(前两个是不存在的):

在/ usr/JAVA /包装/ lib中/ AMD64
在/ usr/lib64下
/lib64的
/lib目录
/usr/lib目录

通过我的环境变量搜索,我发现什么有这些。设置LD_LIBRARY_PATH确实将其内容添加到此列表中。

鉴于此信息,我假设这个列表只是明确设置(硬编码)到Java中,但我找不到任何文档。我的假设是否正确?对于不同的操作系统,其默认值是什么?这些值是否会在分布上发生变化?

我在问两个原因。 1)我只是好奇。 2)我想知道我可以在哪里放置一个库,以便Java总能找到它。

+1

我想看一下源代码[os_solaris.cpp](https://github.com/openjdk-mirror/jdk7u-hotspot/blob/master/src/os/solaris/vm/os_solaris.cpp#L743)/[os_windows.cpp](https://github.com/openjdk-mirror/jdk7u-hotspot/blob/master/src/os/windows/vm/os_windows.cpp#L194)将会回答你的问题。 – SubOptimal

+0

[Default Java library path?]可能重复(https://stackoverflow.com/questions/20038789/default-java-library-path) –

+0

@EtienneMiret这绝对是非常接近我的问题。然而,我的问题不是要求*它设置为什么,而是要求这些值在哪里进行硬编码。这已经2年了,我怀疑我会在这里得到答案,所以如果你认为我应该点击“解决我的问题”按钮,我会这样做。 –

回答

-1

如果要查找当前在机器中设置的路径,请运行以下命令。

System.out.println(System.getProperty("java.library.path")); 

你可以明确地设定在你的代码路径如下

System.setProperty(“java.library.path”, “/path/to/library”); 

通过命令行

java -Djava.library.path=<path> 

此外,我不会把它的环境变量。它是jvm使用的系统属性。

+0

是的,我知道如何设置和检查值,我的问题是这些值来自哪里,如果它们在不同的发行版中是相同的。 –

相关问题