2013-02-27 71 views
0

我已經在tomcat服務器中成功開發並部署了一個java servlet。如何在Jelastic Tomcat中引用DLL文件

但是在那個servlet中,我調用了一個dll文件。在我運行tomcat服務器的電腦中,我打電話給庫 我使用System.load("C:/java/src/calldllfile.dll");,它工作正常。

問題是,在jelastic tomcat我真的不知道我應該使用什麼路徑,我應該把我的dll文件放在我的servlet中調用...並且在我的代碼中捕獲並嘗試它返回一個UnsatisfiedLinkError 所以它確實必須的路徑...

繼jelastic論壇上類似的答案是下面 意見,我想我的文件設置成主文件夾,並用

System.loadLibrary(System.getProperty("user.home")+"/"+"calldllfile.dll"); 但它叫它沒有工作。

所以我真的不知道該怎麼辦......我在下面包含我部署的servlet的圖像,以及我無法調用的dll庫的位置。如果有人告訴我我應該在System.load(「?????」);中使用什麼路徑,那將會非常有用。由於

enter image description here

+0

訪問你的DLL,你已經嘗試過這樣的Tomcat安裝進入主文件夾? http://community.jelastic.com/index.php/topic/121-how-to-load-a-native-dllso-in-apache-tomcat/ – 2013-02-27 16:19:14

+0

是的,我做了那個傢伙在那裏,我上傳在家中我的DLL,然後嘗試調用它...但仍然是同樣的問題... – user878813 2013-02-27 16:47:20

+0

如果只有人可以解釋我是什麼路徑WEBINF例如在jelastic ...我打印機「user.home」和/ opt/tomcat/temp出現,所以我怎麼才能讓我的dll在那裏,所以我可以打電話給它? – user878813 2013-02-27 17:12:31

回答

2

文件夾的webapps位於同一水平,併爲他們的根文件夾是的/ opt/tomcat的/(環境變量的catalina.home的等效 - portion of docs)。如果你正在談論WEB-INF文件夾,它肯定位於你的上下文中(例如ROOT),爲了得到它,你需要使用/ opt/tomcat/webapps/ROOT/WEB-INF(或System.getProperty(「catalina。家「)+」webapps/ROOT/WEB-INF /「)。

關於.dll文件庫可以檢查this

0

我知道這是一個古老的線程,但答案可能是有用的人。

要從你必須使用真實路徑/opt/tomcat/

這樣你就可以與路徑/opt/tomcat/temp/calldllfile.dll