我有一个模块,描述如下:

<?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调用时崩溃。

最佳答案

我想,这应该可以解决您的问题。

在模块module.xmlcom.mymodule

<?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/

10-15 10:36