Jar和java.library.path

时间:2013-11-18 20:13:01

标签: java jar

我正在尝试从磁盘的特定位置使用DLL(因为我使用的是JNotify库)。

使用Netbeans 7.4,发生了以下情况:

我的临时计划只做:

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

作为Netbeans中的VM选项,我设置了-Djava.library.path=D:/JNotify-dll/。计划产出:D:/Jnotify-dll/

当我正常运行java <jarfile>时:它没有设置主类,而我在Netbeans选项中设置它。

当我将其作为java -jar <jarfile>运行时:它为我提供了%PATH%变量。

当我以java -jar <jarfile> -Djava.library.path=D:/JNotify-dll/运行时,仍然会为我提供%PATH%变量。

有没有人知道发生了什么?我真的厌倦了它。

Netbeans生成的MANIFEST.MF

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Created-By: 1.7.0_25-b17 (Oracle Corporation)
Class-Path: lib/ORM.jar lib/mysql-connector-java-5.1.23-bin.jar lib/co
 mmons-dbcp-1.4-javadoc.jar lib/commons-dbcp-1.4.jar lib/commons-pool-
 1.6-javadoc.jar lib/commons-pool-1.6.jar lib/jnotify-0.94.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: bf4.bf4logreader.BF4LogReader

编辑: java -jar -Djava.library.path=D:/JNotify-dll/ <jarfile>,但我仍然感谢您的回答。

1 个答案:

答案 0 :(得分:11)

您需要更改命令行参数的顺序:

java -Djava.library.path=D:/JNotify-dll/ -jar <jarfile> 

另见: