我正在研究一個需要在運行時加載類的項目,所以我做了一些研究並發現需要使用自定義類加載器。我實現了自己的自定義UrlClassloader併爲它提供了我的jar文件的url,它工作正常並且加載了類文件。我已經閱讀了URLClassLoader的java文檔,他們已經明確提到任何以「/」結尾的URL都是指一個目錄,所以如果我在目錄中有多個jar文件,我的類加載器將全部加載他們,我試了一下,但沒有奏效。那麼背後的邏輯是什麼。 請解釋我非常困惑。如果我想要從目錄運行時加載多個jar文件?java中的URLClassLoader
1
A
回答
1
它們添加一個當它以「/」,將參照從目錄中找到加載內容結束。假設你在該文件夾中有一個提取的包。如果您有一個類com.abc.Test
,要加載它形成一個文件夾,您需要在您所指的文件夾中的文件com/abc/Test.class
。
1
你必須遍歷目錄中的文件,並通過一個
List<URL> urls = new ArrayList<>();
try(DirectoryStream<Path> directoryStream = Files.newDirectoryStream(Paths.get(BASE_DIRECTORY), "*.jar")) {
for (Path path : directoryStream) {
urls.add(path.toUri().toURL());
}
}
URLClassLoader urlClassLoader = new URLClassLoader(urls.toArray(new URL[urls.size()]));
相關問題
- 1. Java URLClassLoader ClassNotFoundException
- 2. URLClassLoader的工作原理是什麼? java
- 3. URLClassLoader中未使用的URL
- 4. Java 7:使用URLClassLoader不再工作
- 5. Java URLClassLoader不識別字符串
- 6. URLClassLoader的工作不
- 7. OSGi或URLClassLoader?
- 8. 在URLClassLoader中禁用緩存
- 9. URLClassLoader + loadClass +在獨立進程中調用main方法? Java的
- 10. URLClassLoader的問題與的JarOutputStream
- 11. ClassNotFound的有了URLClassLoader的
- 12. URLClassloader依賴關係
- 13. URLClassLoader找不到類
- 14. URLClassLoader的不檢查罐子
- 15. Java,獲得實現特定接口的URLClassLoader的所有類
- 16. 的java:使用的URLClassLoader加載在運行時
- 17. 通過URLClassLoader加載的Java插件在運行後不返回
- 18. java urlclassloader調用具有導入依賴關係的類
- 19. Java如何使用System ClassLoader(無URLClassLoader)從類路徑中的jar中加載類?
- 20. ClassNotFoundException在classes.jar中使用URLClassLoader(java.net包)
- 21. Jdk更新121 URLClassloader更改
- 22. 類使用的URLClassLoader使用的ClassLoader
- 23. 使用文件作爲URLClassLoader的資源
- 24. 設置URLClassLoader的用戶代理
- 25. 使用RMIClassLoader和URLClassLoader的場景?
- 26. 性能與URLClassLoader的使用jar文件
- 27. URLClassLoader是否使用延遲加載?
- 28. 可以urlclassloader和system.load一起工作嗎?
- 29. URLClassLoader在加載類時拋出NullPointerException
- 30. UrlClassLoader委託和繼承層次結構
您使用的是哪個Java版本? –
@AdelBoutros java 1.7 – Ishada