我有一个模块,描述如下:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mymodule">
<resources>
<resource-root path="myFirstJar.jar" />
<resource-root path="mySecondJar.jar" />
<resource-root path="Lib/linux" />
</resources>
</module>
在我的 jboss-deployment-structure.xml 中:
<jboss-deployment-structure><deployment>
<dependencies>
<module name="com.mymodule" />
</dependencies>
</deployment></jboss-deployment-structure>
找到了 jar 文件,但其中一个试图访问 .so 库。该库存在于“Lib/linux”文件夹中。但是 JBoss 会查看 %JBOSS_HOME%/bin/mylib.so 。 我尝试遵循命名约定(参见 jboss.org),得到了同样的错误:
引起:java.lang.UnsatisfiedLinkError:无法加载库:/usr/local/jboss/jboss-as-7.1.1.Final/bin/mylib.so
我做错了什么?
编辑 如果我将 .so 文件放入我的 JBoss/bin 文件夹,那么 JVM 会在 JNI 调用时崩溃。
最佳答案
我想,这应该可以解决您的问题。
在模块 com.mymodule
的 module.xml
中
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mymodule">
<resources>
<resource-root path="myFirstJar.jar" />
<resource-root path="mySecondJar.jar" />
<resource-root path="Lib/linux" />
</resources>
<dependencies>
<module name="javax.api"/>
<module name="THE JAR IT IS TRYING TO LOOK OUTSIDE"/>
</dependencies>
</module>
你需要添加你的模块对它所依赖的 jar 的依赖才能让它工作
关于linux - JBoss 7 正在尝试从 JBoss bin 加载模块库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12896950/