2011-05-27 54 views
2

我開發了一個GWT應用程序,其中包含一些帶有JNI的本機庫。當我從eclipse測試它時,一切正常,但是當我嘗試將它部署在Eclipse服務器上時,它找不到本地庫。在Tomcat中找不到本地庫

我跟着this tutorial for JNI and Tomcat

,但它仍然無法找到他們,我注意到了。當我從我的服務器端應用程序中讀取java.library.path時,它與我啓動Tomcat時顯示的不同(顯示的路徑變量爲set path)。

任何想法我失蹤?

+0

的可能的複製[如何添加到Tomcat本機庫?](http://stackoverflow.com/questions/14018817/how-以加-A-本機庫在-tomcat的) – 2017-03-10 19:56:55

回答

3

最簡單的答案可能是編輯您的Tomcat安裝的bin/startup腳本,將java.library.path更改爲將本機庫複製到的任何位置。像

java -Djava.library.path=/path/to/my/libs existing args 

的東西,如果你使用一個共享的託管服務提供商,你需要與業主協商,以確定它們是否會允許本地庫被加載到容器中,如果有一個特定的位置圖書館應該複製到哪裏。

除此之外,您的開發環境的元問題不同於您的部署環境。理想情況下,您將擁有在本地開發機器上運行的部署配置的精確副本(或儘可能接近)。

3

我也一直在努力。最終對我的工作是將JNI庫放在tomcat/shared/lib目錄中,並將LD_LIBRARY_PATH環境變量設置爲JNI庫的路徑。我還設置了JAVA_OPTS環境變量以包含-Djava.library.path選項。

Tomcat 7順便說一句。

如果目錄不存在,您將需要創建shared/lib目錄。

在我的Linux服務器,這是它是如何設置:

LD_LIBRARY_PATH=/usr/tomcat/shared/lib:$LD_LIBRARY_PATH 
JAVA_OPTS="-Djava.library.path=/usr/tomcat/shared/lib" 
相關問題