加载自定义类

时间:2016-06-07 15:59:24

标签: scala classloader

因此,使用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"

我无法理解我做错了什么?

编辑: 最相关的两个问题是:

但是这些都没有我的问题,但是他们都比我在成功加载课程之前所做的更进一步。

1 个答案:

答案 0 :(得分:0)

所以问题在于文件夹结构与包名称不匹配。

所以我的文件夹结构是 d:/tmp/MyClassName.class 完整的班级名称是 my.package.MyClassName

类加载器要求文件夹结构为 d:/tmp/my/package/MyClassName.class