我在Java项目中使用DLL文件调用C ++方法。现在,我已经对路径进行了硬编码。
该应用程序将部署在许多计算机上,并且还可以在多台计算机上运行。我应该把我的DLL文件放在哪里,以便我可以加载它并在任何机器上调用它?
答案 0 :(得分:2)
我见过将DLL放入JAR文件的应用程序。在运行时,他们将DLL从JAR中提取到一个临时目录中,然后在那里访问它。
从部署的角度来看,这不是最有效的方法,但最简单。
答案 1 :(得分:1)
您必须确保您的DLL位于类路径中。
这样做的一种方法是将路径放在PATH环境变量中的DLL。
其他选项是将其添加到变量LD_LIBRARY_PATH中的VM参数,如下所示:
java -Djava.library.path=/path/to/my/dll -cp /my/classpath/goes/here MainClass
如果您正在开发一个必须稳定的复杂应用程序,您必须确保将所需的DLL放在操作系统将要查找的位置,可能会考虑安装程序脚本/程序。
答案 2 :(得分:0)
C:\ WINDOWS \ system32(假设C是安装Windows的驱动器,可能你可以从注册表中获取它)
我以前用过很久以前的窗户&不是专家,所以我搜索了你的谷歌并找到链接http://vlaurie.com/computers2/Articles/dll.htm
请参阅链接中的最后一个主题(以标题使用Regsvr32.exe注册DLL 开头)