用于修改PATH的Java命令行参数

时间:2015-01-30 10:41:24

标签: java dll

我有一个Java项目,它使用几个本机DLL,但只使用System.load()加载其中一个,并且它依赖于其他DLL。我不允许修改该代码。 System.load()在java.library.path中查找,我可以通过命令行参数设置它,但是根据Java JNI and dependent libraries on Windows中的最高答案,依赖DLL的加载是由Windows完成的,它只关心PATH ,而不是java.library.path。所以我需要将具有DLL的目录添加到PATH,并且通过命令行参数也可以这样做。可以这样做吗?

编辑以澄清:我正在从Eclipse运行我的代码作为jUnit插件测试,我正在试图找出如何更改运行配置以获得此效果。我通过将以下内容添加到Arguments选项卡中的VM参数框来更改java.library.path:

-Djava.library.path="D:/prototype/resources/nativelib/x64;${system_property:java.library.path}"

D:/ prototype / resources / nativelib / x64当然是存储DLL的目录。

我尝试添加

-Dpath "D:/prototype/resources/nativelib/x64;${system_property:path}"

-DPATH "D:/prototype/resources/nativelib/x64;${system_property:PATH}"

在同一个地方,但他们都没有得到理想的结果。

1 个答案:

答案 0 :(得分:0)

在命令行上输入以下命令。

set PATH=%PATH%;C:\path_to_ur_dlls

是的,您可以在Java代码中执行以下操作。

 Process proc = Runtime.getRuntime().exec("cmd set PATH=%PATH%;C:\\path_to_ur_dlls");
 proc.waitFor();