Java 带有自定义类加载器的Jmockit:系统类加载器不支持在实时阶段将JAR文件添加到系统类路径
我使用的自定义类装入器如下所示:Java 带有自定义类加载器的Jmockit:系统类加载器不支持在实时阶段将JAR文件添加到系统类路径,java,classloader,jmockit,Java,Classloader,Jmockit,我使用的自定义类装入器如下所示: public class MyClassLoader extends URLClassLoader { public MyClassLoader(ClassLoader parent) { super(((URLClassLoader) parent).getURLs(), parent); } } 我也在用jmockit。例如,考虑这个代码: public static void main(String[] args) thr
public class MyClassLoader extends URLClassLoader {
public MyClassLoader(ClassLoader parent) {
super(((URLClassLoader) parent).getURLs(), parent);
}
}
我也在用jmockit。例如,考虑这个代码:
public static void main(String[] args) throws Exception {
new MockUp<Main>(){
};
}
publicstaticvoidmain(字符串[]args)引发异常{
新模型(){
};
}
当我用
-Djava.system.class.loader=app.MyClassLoader它引发以下异常:
Exception in thread "main" java.lang.ExceptionInInitializerError
at app.Main.main(Main.java:12)
Caused by: java.lang.IllegalStateException: com.sun.tools.attach.AgentLoadException: Unable to add JAR file to system class path
at mockit.internal.startup.AgentLoader.loadAgentAndDetachFromRunningVM(AgentLoader.java:150)
at mockit.internal.startup.AgentLoader.loadAgent(AgentLoader.java:56)
at mockit.internal.startup.Startup.verifyInitialization(Startup.java:172)
at mockit.MockUp.<clinit>(MockUp.java:94)
... 1 more
Caused by: com.sun.tools.attach.AgentLoadException: Unable to add JAR file to system class path
at sun.tools.attach.HotSpotVirtualMachine.loadAgent(HotSpotVirtualMachine.java:119)
at mockit.internal.startup.AgentLoader.loadAgentAndDetachFromRunningVM(AgentLoader.java:146)
... 4 more
System class loader does not support adding JAR file to system class path during the live phase!
Unable to add C:\Users\hmdha\.m2\repository\org\jmockit\jmockit\1.23\jmockit-1.23.jar to system class path - not supported by system class loader or configuration error!
线程“main”java.lang.ExceptionInInitializeError中的异常
位于app.Main.Main(Main.java:12)
原因:java.lang.IllegalStateException:com.sun.tools.attach.AgentLoadException:无法将JAR文件添加到系统类路径
在mockit.internal.startup.AgentLoader.loadAgentAndDetachFromRunningVM(AgentLoader.java:150)上
位于mockit.internal.startup.AgentLoader.loadAgent(AgentLoader.java:56)
在mockit.internal.startup.startup.verifyInitialization(startup.java:172)中
在mockit.MockUp。(MockUp.java:94)
... 还有一个
原因:com.sun.tools.attach.AgentLoadException:无法将JAR文件添加到系统类路径
位于sun.tools.attach.HotSpotVirtualMachine.loadAgent(HotSpotVirtualMachine.java:119)
在mockit.internal.startup.AgentLoader.loadAgentAndDetachFromRunningVM(AgentLoader.java:146)上
... 4更多
系统类加载器不支持在实时阶段将JAR文件添加到系统类路径!
无法将C:\Users\hmdha\.m2\repository\org\jmockit\jmockit\1.23\jmockit-1.23.jar添加到系统类路径-系统类加载器不支持或配置错误!
我是否应该向类加载器添加任何内容来防止此错误?在junit/nunit jar之前的类路径上是否有jmockit?如果没有,你通常会有问题。或者,您可以将此注释添加到测试类:
@RunWith(JMockit.class)
您可能还需要查看,并确保您的设置与说明一致 在junit/nunit jar之前,类路径上有jmockit吗?如果没有,你通常会有问题。或者,您可以将此注释添加到测试类:
@RunWith(JMockit.class)
您可能还需要查看,并确保您的设置与说明一致