我正在尝试从磁盘的特定位置使用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>
,但我仍然感谢您的回答。
答案 0 :(得分:11)
您需要更改命令行参数的顺序:
java -Djava.library.path=D:/JNotify-dll/ -jar <jarfile>
另见: