代码之家  ›  专栏  ›  技术社区  ›  BtD

java.library.path的用途

  •  2
  • BtD  · 技术社区  · 14 年前

    也许这是个重复的问题,但我一个人还没有找到答案。

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

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

    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 回复  |  直到 14 年前
        1
  •  10
  •   Jeff Storey    14 年前

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

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