看板 java 關於我們 聯絡資訊
※ 引述《flowwinds (..)》之銘言: : 我覺得是 JNI 跟 Tomcat整合的問題, 不過還是不清楚如何處理 : 以下是我的測試: : 1. 我用程式啟動這個CXF service, client連的上且結果正確 : 所以我判斷是JNI Tomcat整合的問題 : 2. 這個含有native method class 比較特殊的是, native method 所用到的 : C code 會動態載入 2個 dll (用windows.h的LoadLibrary),呼叫 dll裡面的function : 之前有測試過其他的native method, C code中只使用 printf不載入其他dll : 這樣的話放到Tomcat上可以被client正常的呼叫, 所以問題可能是出在這 : 有人有遇過同樣問題, 或者知道如何處理的嗎? : 謝謝~ 調用 LoadLibrary 時是使用絕對路徑或相對路徑來指明目標 dll? 若是後者可能就是路徑的問題(或者說環境/組態的問題)。 試著改寫 native method 使用絕對路徑來載入 dll,可以進一步確認問題點。 *Windows 搜尋 DLL 的順序。 http://msdn.microsoft.com/zh-tw/library/7d83bc18(v=VS.80).aspx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.177.86 ※ 編輯: sbrhsieh 來自: 218.160.177.86 (08/30 21:34)
flowwinds:相對路徑, 我會再進一步確認, 謝謝~ 08/30 21:39
flowwinds:我有設定C code找不到dll的話會丟UnsatisfiedLinkError 08/30 21:45
flowwinds:Tomcat log中沒看到相關的就自己關掉了.... 08/30 21:47