|
|
1
4
问题是您的主类是由系统类加载器(包含-classpath的类加载器)加载的,该类加载器在classpath上没有junit。然后,创建一个单独的类加载器,在类路径上只有JUnit。当您的主类尝试强制转换到JUnitCore时,系统类加载器将被要求加载JUnitCore,它不包含JUnitCore,因此会发生NoClassDeffoundError。 不使用反射就做你想做的事情是不方便的。您需要(1)创建一个单独的类来直接访问junitcore,(2)在urlcllassloader(directory或jar)上包含该类的路径,(3)使用反射加载该类,以及(4)使用反射调用该类上的方法。 |
|
|
2
-1
你也不需要这样做吗
|
|
|
Raphael · 确定未能加载的类文件的路径 8 年前 |
|
|
Guest · 常量池和方法区域的映射 8 年前 |
|
|
flow2k · 解析扩展了接口并结束了一个潜在的无限循环 9 年前 |
|
|
Pneumono · 在运行时更改系统类加载器 9 年前 |
|
|
user3250354 · 使用Java类加载器获取堆栈跟踪 10 年前 |
|
|
DoNuT · 通过Classloader加载Maven工件 10 年前 |