NoClassDefFoundError 在运行时出现此错误?
NoClassDefFoundError getting this error at runtime?
线程“main”中的异常java.lang.NoClassDefFoundError:Mythread(错误名称:MyThread)
在 java.base/java.lang.ClassLoader.defineClass1(本机方法)
在 java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010)
在 java.base/java.security.SecureClassLoader.defineClass(安全ClassLoader.java:150)
在 java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(内置ClassLoader.java:855)
在 java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(内置ClassLoader.java:753)
在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(内置ClassLoader.java:676)
在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(内置ClassLoader.java:634)
在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
在 multirunable.main(multirunable.java:15)
进程已完成,退出代码为 1
代码:-
class MyThread implements Runnable{
@Override
public void run() {
System.out.println("I am a thread 1 not a thread 2");
}
}
class MyThread2 implements Runnable{
@Override
public void run() {
System.out.println("I am a thread 2 not a thread 1");
}
}
public class multirunable {
public static void main(String[] args) {
MyThread t1= new MyThread();
Thread w1= new Thread(t1);
Mythread2 t2=new Mythread2();
Thread w2=new Thread(t2);
w1.start();
w2.start();
}
}
您在 Main Method Mythread2
中写入,但您需要将其命名为 MyThread2
因为那是您的 Runnable class.
的相同名称
线程“main”中的异常java.lang.NoClassDefFoundError:Mythread(错误名称:MyThread) 在 java.base/java.lang.ClassLoader.defineClass1(本机方法) 在 java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010) 在 java.base/java.security.SecureClassLoader.defineClass(安全ClassLoader.java:150) 在 java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(内置ClassLoader.java:855) 在 java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(内置ClassLoader.java:753) 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(内置ClassLoader.java:676) 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(内置ClassLoader.java:634) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519) 在 multirunable.main(multirunable.java:15)
进程已完成,退出代码为 1
代码:-
class MyThread implements Runnable{
@Override
public void run() {
System.out.println("I am a thread 1 not a thread 2");
}
}
class MyThread2 implements Runnable{
@Override
public void run() {
System.out.println("I am a thread 2 not a thread 1");
}
}
public class multirunable {
public static void main(String[] args) {
MyThread t1= new MyThread();
Thread w1= new Thread(t1);
Mythread2 t2=new Mythread2();
Thread w2=new Thread(t2);
w1.start();
w2.start();
}
}
您在 Main Method Mythread2
中写入,但您需要将其命名为 MyThread2
因为那是您的 Runnable class.