我有一个包含多个模块的大型项目,它使用 EAR 包部署到 glassfish(我使用的是 Eclipse IDE)。
其中一个模块是一个 EJB 项目,它依赖于 JAR 库,而 JAR 库又依赖于一些 native 库 (DLL)。 DLL 包含在 jar 中
我遇到的问题是找不到 native 库。看来java.library.path
不包含我在 project Properties -> Java Build Path -> Libraries -> the jar -> Native library location
中配置的文件夹.
我有什么遗漏吗?
最佳答案
我还没有找到解决方案,但我找到了 2 个解决方法。
- 将 DLL 嵌入到 JAR/EAR/WAR 中,并使用 this loader 加载它们,它基本上使用
Class.getResourceAsStream
方法获取 DLL,将其复制到临时目录中,然后从那里加载它(这是我选择的方法)。 - 将 DLL 添加到系统
$PATH
。将它们所在的文件夹放入$PATH
环境变量中,或者将它们复制到$PATH
中的文件夹中。
关于java - 在 Eclipse 中为 EAR 配置 native 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46954574/