用于修改路径的Java命令行参数

用于修改路径的Java命令行参数,java,dll,Java,Dll,我有一个Java项目,它使用了几个本机DLL,但只使用System.load()加载其中一个,它依赖于其他DLL。我不允许修改那个代码。System.load()在java.library.path中查找,我可以通过命令行参数设置它,但是根据上面的答案,依赖DLL的加载是由Windows完成的,它只关心path,而不关心java.library.path。所以我需要添加包含DLL到PATH的目录,通过命令行参数也可以这样做。可以这样做吗 编辑澄清:我正在以jUnit插件测试的形式从Eclipse

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

编辑澄清:我正在以jUnit插件测试的形式从Eclipse运行我的代码,并试图找出如何更改运行配置以获得这种效果。我更改了java.library.path,在arguments选项卡的VM arguments框中添加了以下内容:

-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}"


在同一个位置,但它们都没有得到所需的结果。

在命令行中输入以下命令

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();

好吧,您不能从Java更改实际路径,但很高兴被证明是错误的。这是一个单独的命令。作为运行代码的java调用的一部分,我正在寻找一种方法来实现这一点。
 Process proc = Runtime.getRuntime().exec("cmd set PATH=%PATH%;C:\\path_to_ur_dlls");
 proc.waitFor();