java - 在 Eclipse 中为 EAR 配置 native 库

标签 java eclipse dll java-native-interface

我有一个包含多个模块的大型项目,它使用 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 个解决方法。

  1. 将 DLL 嵌入到 JAR/EAR/WAR 中,并使用 this loader 加载它们,它基本上使用 Class.getResourceAsStream 方法获取 DLL,将其复制到临时目录中,然后从那里加载它(这是我选择的方法)。
  2. 将 DLL 添加到系统 $PATH。将它们所在的文件夹放入 $PATH 环境变量中,或者将它们复制到 $PATH 中的文件夹中。

关于java - 在 Eclipse 中为 EAR 配置 native 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46954574/

相关文章:

c++ - 如何在 C++ 中使用带有 LoadLibrary 的 COM DLL

java - Android WifiManager 扫描结果在 Gingerbread 之后给出不一致的数据?

java - 迁移到Java 11 : I need help resolving Classpath & Module Path Conflicts In Eclipse

调用 C 风格的 DLL 成功,然后 AutoIt 崩溃

Eclipse 文件夹是透明/灰色的。这是什么意思?

java - 如何使用 docbase Root 从 server.xml 读取上下文参数

c - 编写 C DLL 的替代品?

Java根据鼠标点击绘制三个形状?

java - Spring 与 JMS 集成无法正常工作

java - 未使用 CORS 的 Spring Yml 配置