我需要開發一個可以支持任何版本的服務器的客戶端。每次使用客戶端連接新服務器時,都會在客戶端上存儲適當的服務器信息,並且需要將類服務器設置爲當前服務器特定的類路徑位置。基於服務器版本類路徑需要設置。我正面臨動態設置這個類路徑。我總是得到ClassNotFound異常。你能否建議我如何實現這一目標?動態設置類路徑
動態設置類路徑
回答
類路徑不能在運行時動態設置。你可以在這裏做兩件事:熟悉OSGi或編寫你自己的類加載器。 對於這個特殊的例子,寫自己的類加載器會更容易。你在服務器特定的類路徑中保留什麼?類,資源,什麼?一些細節可以幫助。
在服務器的特定classpath中我將罐子性文件,該文件是特定於服務器的特定版本。 – user1145302 2012-01-12 11:33:49
所以你需要從運行時加載瓶子的clasess?試試這裏http://stackoverflow.com/questions/60764/how-should-i-load-jars-dynamically-at-runtime – 2012-01-12 11:40:12
我不知道究竟是你想什麼來實現,但假設你有所有在您的客戶機需要的庫,你只是試圖基於特定參數在運行時更改類路徑從服務器接收,那我就去ClassWorlds。
我會嘗試定義一組使用ClassWorlds'配置文件和客戶端的主類類領域的將實施using the ClassWorld argument in the main method。然後,從服務器收到的參數將是任何這些領域的名稱。因此,在閱讀領域參數之後,您只需要將switch the current thread's classloader添加到由ClassWorlds爲特定領域創建的參數。
- 1. 動態設置Maven Surefire JVM類路徑
- 2. 設置類路徑
- 3. elfinder設置動態上傳路徑
- 4. Mule ESB動態設置端點路徑
- 5. 動態設置圖像路徑
- 6. Symfony2的新秀:設置路徑動態
- 7. PHP的RoxyFileMan設置FILES_ROOT路徑動態
- 8. 設置動態下載路徑的Django
- 9. IDE設置的動態文件路徑?
- 10. Hudson:設置類路徑
- 11. 設置htmlunit的類路徑
- 12. 設置類路徑資源
- 13. 設置Java類路徑時
- 14. 爲org.jruby.Main設置類路徑?
- 15. 設置JAR的類路徑
- 16. 動態修改類路徑
- 17. 動態根路徑路徑
- 18. 設置路徑
- 19. 設置jar和類的類路徑
- 20. 爲量角器動態設置驅動程序路徑
- 21. 設置靜態上傳路徑RoR中
- 22. django中的靜態url路徑設置
- 23. 設置動態路線
- 24. 動態圖像路徑不上設備
- 25. NSPathControl設置路徑
- 26. 設置tomcat路徑
- 27. 設置java路徑
- 28. 設置新路徑
- 29. 設置SVG路徑
- 30. Java路徑設置
更多細節將不勝感激。這臺新服務器是否在另一臺機器上?這看起來像是一個部署問題。你用什麼來部署? – fge 2012-01-12 10:56:28
您正在嘗試做什麼RMI(通過網絡更新軟件版本)或Java WebStart? – 2012-01-12 10:58:26