我希望能夠加載不同版本的JAR文件,代表客戶端API,這取決於我正在與之交談的服務器的版本。不幸的是,每個版本的服務器都需要不同的客戶端API。有沒有辦法創建一個基於指定的CLASSPATH查找類文件的ClassLoader?換句話說,我想告訴ClassLoader搜索類文件的位置序列。如何爲類加載器加載任意選擇的JAR?
1
A
回答
0
如果我理解正確,您需要一個自定義ClassLoader,它根據一些配置在不同位置查找。例如,在一種情況下,它可能在/ foo中查看,另一個在/ bar中,而在另一箇中它可能先看/ foo,然後看/ bar。如果這是正確的,那實際上並不難。查看URLClassLoader(http://docs.oracle.com/javase/7/docs/api/java/net/URLClassLoader.html)。您可以指定ClassLoader指定哪些URL(可以是本地目錄或文件),以及「在首次搜索指定的父類加載器後,將按照爲類和資源指定的順序搜索URL」。
關鍵是父類ClassLoader不知道你不想搜索的路徑,因此你必須手動執行一些類路徑配置,而不是讓JVM來處理它。
相關問題
- 1. 如何從Jar加載類?
- 2. 如何編寫自定義的類加載器來從jar中加載類?
- 3. 如何加載選擇?
- 4. 如何防止從jar加載類
- 5. 如何從jar或目錄加載類
- 6. 如何從瀏覽器加載JAR文件加載庫?
- 7. 如何儀器類加載自定義類加載器?
- 8. Tomcat jar加載
- 9. 如何從類加載器中刪除加載的類?
- 10. 如何爲XMLDecoder設置類加載器?
- 11. 作爲InputStream從JAR加載?
- 12. Java類加載器:爲什麼先搜索父類加載器?
- 13. 加載選項從服務器選擇
- 14. Symfony的類加載器不會加載
- 15. JQTOUCH - 任何時候發生加載,添加加載類?
- 16. 加載站點後激活選擇器加載
- 17. 類加載器如何加載靜態變量的說明
- 18. 卸載類加載器
- 19. 如何選擇性加載Excel文件?
- 20. 如何使用Select2加載選擇Ajax?
- 21. 從jar加載庫
- 22. 從.jar加載xml
- 23. 從Jar加載ZUL
- 24. 加載外部JAR
- 25. swf加載類加載器參數
- 26. 在Ruby中加載Url類加載器
- 27. jar中的列表和加載類
- 28. 無法加載jar文件的主類
- 29. Java Jar文件作爲流類加載器
- 30. Ajax加載器和鏈接選擇框