我製作了一個Java Applet,它依賴於某些第三方的libriaries以及通過JNI調用的DLL。這些顯然不會安裝在客戶端計算機上。有沒有辦法將這些第三方的libriaries和外部DLL打包到我的Applet的JAR中,以便它可以被任何基於Java安裝的客戶端運行?部署具有第三方依賴關係的Java Web Applet
回答
在web應用程序中使用JNI是胃灼熱的祕訣,特別是在Windows中。
- 顯然,您不能在WAR文件中部署該DLL,並且可能需要事先由部署人員運行單獨的安裝程序。
- 您必須確保
java.library.path
已正確設置,這通常是由應用程序服務器中的設置完成的,而不是WAR文件中可部署的。 - 如果您嘗試運行該Web應用程序的多個實例,則JNI將該本機類與該庫鏈接的方式將導致類加載器頭痛。解決此問題的一種方法是將包含的JAR文件移動到共享類加載器(如Tomcat的公用文件夾)中,但它有其自身的複雜性。
反正是有包裝這些第三 方libriaries
在Eclipse中,下的Java項目屬性(右鍵單擊),我可以做:
Export... => Export as Runnable JAR
然後我告訴它將我的jar依賴關係打包到那個導出的JAR中。 導出的JAR將包含所有依賴關係。
alt text http://www.ubuntu-pics.de/bild/97131/selection_016_mg6IDm.png
這不會處理支持JNI本機類所需的本機庫。 – 2010-07-06 17:42:45
從不這樣說,不值得頭痛。爲了反映這一點,我截斷了OP的報價。 – bakkal 2010-07-06 20:18:46
我的話題不是專家,但有對所有這些問題工作方案。他們可能會讓你頭痛,但有些事情只能通過這種方式來完成(我相信你與Entrust CSP的問題就是其中之一)。
您可以從OpenOCES-project查看OpenSign。神奇的事發生在org.openoces.opensign.client.applet.bootstrap中。
我也相信JNLPAppletLauncher解決了同樣的問題,但我沒有與我的經驗。
- 1. COM部署依賴關係
- 2. 管理內部第三方依賴關係
- 3. m2e wtp部署測試依賴關係
- 4. AIR需要具有通用iOS庫的AIR第三方依賴關係
- 5. 如何在PLay框架中聲明具有依賴關係的第三方庫
- 6. Java - 依賴注入 - 第三方庫
- 7. 結構圖 - 具有依賴關係的安裝依賴關係
- 8. mvn依賴關係:具有傳遞性依賴關係的樹
- 9. MSBuild和Web部署項目外部依賴關係
- 10. 與Maven傳遞第三方依賴關係
- 11. Maven依賴關係,Tomcat7和部署
- 12. Java Applet Web部署問題
- 13. EJB3 bean部署依賴關係
- 14. Applet與Eclipse中的依賴關係
- 15. 第三方庫的Angular.js依賴關係訂單
- 16. 使用爲angular.js編寫的第三方依賴關係
- 17. Gradle在我的項目中包含第三方依賴關係
- 18. 打字稿npm模塊中的第三方依賴關係
- 19. Maven/Tycho構建的第三方包依賴關係
- 20. 從第三方依賴關係調用的類庫
- 21. Eclipse插件與第三方庫的Maven依賴關係
- 22. 如何替換第三方nuget軟件包的依賴關係?
- 23. 解決第三方循環的dll依賴關係?
- 24. Visual Studio 2013 Web部署缺少依賴關係
- 25. Liferay Web應用程序部署依賴關係
- 26. 開發和部署過程中的Java依賴關係
- 27. 使用maven簽署依賴關係
- 28. 第三方JavaScript應用程序依賴關係管理
- 29. Python pip如何處理第三方依賴關係
- 30. OSGI - 處理第三方JAR及其依賴關係
謝謝,認爲它不值得頭痛。關閉以找到不同的解決方案。 – 2010-07-06 17:49:28