3

私は次のように説明されたモジュールを手に入れました:

<?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ファイルが見つかりましたが、そのうちの1つが.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呼び出しでクラッシュします。

4

3 に答える 3

0

私は、これはあなたの問題を解決するはずです。

あなたmodule.xmlのモジュールでcom.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>

you need to add dependency of your module on the jar it is dependent on to have it work

于 2012-10-17T13:30:15.693 に答える
0

私が求めているライブラリは、プログラムとともにインストールされます。JARへの相対パスを使用してモジュールの作成を終了し、プログラムのlibフォルダーで直接見つけました。ライブラリについては、参照する必要はありません。プログラムはマシン上でサービスとして実行されているため、システムにロードされます。私が受け取ったエラーは、JBoss の問題というよりも、そのプログラムの問題に関するものでした。

于 2012-11-06T10:48:24.363 に答える
0

Lib/linux の名前を lib/linux-i686/ および/または lib/linux-x86_64/ に変更してみてください。org.hornetq および org.jboss.as.web モジュール用に出荷されたモジュール設定でこれを使用しているようです

于 2013-01-15T13:10:02.913 に答える