Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有自定义类加载器的Jmockit:系统类加载器不支持在实时阶段将JAR文件添加到系统类路径_Java_Classloader_Jmockit - Fatal编程技术网

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)

您可能还需要查看,并确保您的设置与说明一致