2013-09-29 120 views
0

我試圖將我的應用程序部署到網絡服務器上(到目前爲止,我一直在使用heroku,但我對其他服務開放)。如何將.war文件和jni庫文件部署到Web服務器上?

我使用IntelliJ並創建了一個Spring應用程序(使用Tomcat 7運行)。我的應用程序的一個要求是我運行一些C代碼。我研究了JNI,併成功編譯了我的C代碼中的.so庫。

一切工作完美的地方。爲了讓IntelliJ正確加載.so庫,我把它放在bin/目錄IntelliJ(我想也有使用虛擬機選項-Djava.library.pathTomcat指向帶有.so文件的目錄)的方法。

我的問題是:我應該如何繼續嘗試將我的應用程序在網上某處知道我需要Tomcat來加載JNI庫?

回答

0

在Web服務器堆棧下使用JNI並不明智;如果有任何本地代碼炸彈,它會關閉整個Web服務器。

如果您絕對需要您的本機代碼,另一種方法是將該代碼作爲獨立應用程序運行,並帶有公開的RMI接口。

+0

感謝您的回答。我會記住未來的RMI。但是,你沒有回答我關於我應該做什麼的問題。現在我正在玩'亞馬遜的EC2'。 – bourbaki4481472

+0

@ijkilchenko您可以查詢系統的庫路徑System.getProperty(「java.library.path」)'。也許它的位置,亞馬遜EC2將允許你放棄文件。 – Samhain

相關問題