2012-10-15 29 views
3

我有一個模塊加載模塊庫,描述是這樣的:的JBoss 7正試圖從JBoss的倉

<?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部署-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 /斌/ mylib.so

我在做什麼錯?

編輯 如果我把.so文件到我的JBoss/bin文件夾,然後在JVM墜毀在一個JNI調用。

+0

兄弟,我在下面您的意見對我的回答你解決它在某種程度上..如果是這樣的話讀,你能回答你自己的問題嗎?將有助於其他人登陸這裏。 謝謝 –

+0

好評。 我之後的庫已經安裝了一個程序。我結束寫了我的模塊與JAR的相對路徑,直接在程序lib文件夾中找到它們。對於圖書館,我不必提及它們。它們被加載到系統中,因爲程序在機器上作爲服務運行。我得到的錯誤更多的是關於該程序的問題,而不是JBoss的問題。 –

+0

如果您可以在頁面底部的「回答您自己的問題」中填寫該描述,以免所有答案都不相關,那將會更好。 Regards –

回答

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> 

您需要在jar添加你的模塊依賴它依賴於它的工作

+0

感謝您的幫助Mukul。這不是我要找的罐子,而是一個圖書館。如果我在我的'module.xml'中直接引用它,那麼JBoss會告訴我它無法讀取那個奇怪的jar文件。 無論如何,我通過將LD_LIBRARY_PATH設置爲包含庫的文件夾來成功找到庫。 –

+0

@SylvainSchüpp,兄弟,你能否詳細說一下「圖書館」我力挺的話。究竟是什麼?什麼格式?它就像一堆罐子? –

+0

有了庫,我的意思是Linux上的.so文件或Windows上的.dll文件。還有C/C++存檔。 –

0

我有一個程序在安裝後的庫。我結束寫了我的模塊與JAR的相對路徑,直接在程序lib文件夾中找到它們。對於圖書館,我不必提及它們。它們被加載到系統中,因爲程序在機器上作爲服務運行。我得到的錯誤更多的是關於該程序的問題,而不是JBoss的問題。

0

嘗試重命名LIB/Linux來LIB/Linux的i686的/和/或IIb/Linux的x86_64的/。我們似乎在我們的運模塊設置爲使用此爲org.hornetq和org.jboss.as.web模塊