因此,使用ClassLoader读取外部.class文件有很多问题和例子,但我很难知道我哪里出错了。
val folderUrl: URL = new File("D:/tmp/").toURI.toURL //file:/D:/tmp/
val cl: URLClassLoader = new URLClassLoader(Array(folderUrl), this.getClass.getClassLoader)
cl.loadClass("my.package.MyClassName")
最后一行抛出ClassNotFoundException
文件夹D:/ tmp /包含一个类文件" MyClassName.class"。 该课程包含" my.package" 该类名为" MyClassName"
我无法理解我做错了什么?
编辑: 最相关的两个问题是:
但是这些都没有我的问题,但是他们都比我在成功加载课程之前所做的更进一步。
答案 0 :(得分:0)
所以问题在于文件夹结构与包名称不匹配。
所以我的文件夹结构是 d:/tmp/MyClassName.class 完整的班级名称是 my.package.MyClassName
类加载器要求文件夹结构为 d:/tmp/my/package/MyClassName.class