2023-01-21 286
我正在通过JNI运行库(我没有编写),并且在内部调用了另一个DLL.我会遇到一个错误,说”找不到依赖库”,除非我将其他DLL的路径放在系统路径变量上(我在Windows XP上).我希望能够在Java命令行上处理此操作,并且我已经尝试将其添加到-djava.library.path和classPath中,这都不是有效的(我期望-djava.library.path可以工作但没有班级路径,但两者都没有起作用).有办法做到吗?
谢谢,
jeff
是否需要任何文件
我能够通过使用System.load()在所有DLL上以反向依赖关系顺序使用System.load()在路径上使用任何DLL.只是要清楚,我在所有依赖的DLL上呼叫System.load(),而不仅仅是JNI DLL.您不必在Windows随附的DLL上调用System.load()(它们在路径上).
我在一个网络应用程序中这样做,其中一个罐子中包括打开包装的dll.您的情况似乎更简单,所以我相信它应该起作用.我通常在这里遵循解决方案:如何制作罐子包括DLL文件的文件?
这对我有很大帮助.
还管理使用Cygwin构建的JNI DLL:
首先:
/* conditioned if OS is windows because also need it to work in Linux env. */
System.loadLibrary("cygwin1");
然后:
System.loadLibrary("mylib");
在Windows上,这需要设置Java.Library.Path以匹配两个库位置.
如果从Eclipse运行,则可以在Java构建路径(在JRE库设置中)中替换此设置的”本地库位置”.
但是,仍然发现这有些棘手.
以上所述是小编给大家介绍的依赖JNI的库,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26280.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态