//文件名:Person1.java
class Person
{
public void so()
{
System.out.println("abcdefg");
}
public static void main(String[] args)
{
Person A=new Person();
A.so();
}
}
//错误信息
java.lang.NoClassDefFoundError: Person1
Caused by: java.lang.ClassNotFoundException: Person1
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Person1. Program will exit.
Exception in thread "main"
编译通过了,运行却没有通过。什么原因啊?
class Person
{
public void so()
{
System.out.println("abcdefg");
}
public static void main(String[] args)
{
Person A=new Person();
A.so();
}
}
//错误信息
java.lang.NoClassDefFoundError: Person1
Caused by: java.lang.ClassNotFoundException: Person1
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Person1. Program will exit.
Exception in thread "main"
编译通过了,运行却没有通过。什么原因啊?
我这里的正常 F:\>javac Person.javaF:\>java Person
abcdefgF:\>
这样就行了。
把类名改为Person1 也行,注意大小写呀。
jvm查找不到文件名指定的类 所以会抱NoClassDefFoundError 意思是没有找到类定义
所以主类的名称应和文件名一致