java.library.path的目的

时间:2010-11-16 14:13:15

标签: java jvm

也许这是一个重复的问题,但我自己找不到一些东西。

基本上我有一个理解问题。

我有一个应用程序,当我按如下方式调用它时工作正常:

java -Duser.dir="some path" -Djava.library.path="pathToDLL1;pathToDLL2;pathToMyDir" classToCall par1

通过上面的调用,我的应用程序将启动并运行。

我的理解问题是在 pathToMyDir 目录中(该目录的内容主要是一些需要的dll)。

当我使用以下命令启动相同的应用程序时,它将失败。

java -Duser.dir="some path" -Djava.library.path="pathToMyDir;pathToDLL1;pathToDLL2" classToCall par1

我不确定这是否是因为某些依赖项,但我认为java.library.path主要用于告诉java在哪里查找外部库。或者这是错的?是否还隐藏了一些订单信息?

1 个答案:

答案 0 :(得分:10)

-Djava.library.path用于指向本机系统库(dll或so文件)。它指向一个目录,并调用使用System.loadLibrary的本机代码在该目录中查找本机库。

应在应用程序的类路径中指定项目依赖项(jar文件),而不是在此位置。