我目前有以下目录树结构:
CLASSES
-> ClassOne
->package
-> my
->App.class我想从我的本地驱动器加载App.class。我环顾四周,特别是堆栈溢出,大多数人似乎建议我应该使用URLClassLoader。
为此,我使用了以下代码:
然而,我得到了一个ClassNotFoundError。有人能帮帮我吗。
String url = "file://" + classOneFolder.getAbsolutePath(); //Where classesFolder is a File representing the ClassOne directory
URL[] urls = {new URL(url)};
urlClassLoader = URLClassLoader.newInstance(urls);
//class loader needs the fully classified class name. Therefore:
Class appClass = urlClassLoader.loadClass("package.my.App");发布于 2014-02-16 14:28:32
我建议您使用classOneFolder.toURI().toURL(),而不是自己构建一个字符串,然后从它重新创建一个URL。在某些系统(如Windows)中,需要在绝对文件名的前面添加另一个斜杠,以获得有效的URL。使用File.toURI().toURL()应该始终构建一个正确的URL。
https://stackoverflow.com/questions/21812385
复制相似问题