NoClassDefFoundError 在运行时收到此错误?
Posted
技术标签:
【中文标题】NoClassDefFoundError 在运行时收到此错误?【英文标题】:NoClassDefFoundError getting this error at runtime? 【发布时间】:2021-07-14 16:02:22 【问题描述】:线程“主”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(SecureClassLoader.java:150) 在 java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:855) 在 java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:753) 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:676) 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.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();
【问题讨论】:
Mythread2应该是MyThread2,请检查't'的大小写。 【参考方案1】:您在 Main 方法中写了 Mythread2
,但您需要将其命名为 MyThread2
,因为这是您的 Runnable 类的相同名称。
【讨论】:
以上是关于NoClassDefFoundError 在运行时收到此错误?的主要内容,如果未能解决你的问题,请参考以下文章
运行时 Android 小部件的 java.lang.NoClassDefFoundError
2.1NoClassDefFoundError和ClassNotFoundException区别
java.lang.NoClassDefFoundError:尝试运行 jar 时
在运行struts junit时获取java.lang.NoClassDefFoundError:javax / el / ELResolver