Java的在大学庆典将失败,并出现NoClassDefFoundError
-
18-09-2019 - |
题
我知道有关于NoClassDefFoundError的很多职位
,他们似乎都在谈论的jar文件。虽然我很舒服,在日食java中,我几乎失去了,为什么最简单的事情,我可以想出不能正常工作,除非他们打破了这所大学的东西方
public class hello {
public static void main (String args[]) {
System.out.println ("Hello World!");
}
}
这是引发此整个hello.java程序:
Exception in thread "main" java.lang.NoClassDefFoundError: hello/java
Caused by: java.lang.ClassNotFoundException: hello.java
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: hello.java. Program will exit.
$ CLASSPATH = /:在/ usr /爪哇/最新/ lib中:/家庭/ 41 /名为myUsername / bin中
java -verbose hello.class
给出:
[Opened /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.lang.Object from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.io.Serializable from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.lang.Comparable from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.lang.CharSequence from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.lang.String from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.lang.reflect.GenericDeclaration from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.lang.reflect.Type from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.lang.reflect.AnnotatedElement from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] [Loaded java.lang.Class from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] ... [Loaded sun.misc.AtomicLong from /usr/java/jdk1.6.0_10/jre/lib/rt.jar] ...
再次与例外。
java -version
给出:
java version "1.6.0_10-rc2" Java(TM) SE Runtime Environment (build 1.6.0_10-rc2-b32) Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)
解决方案
我想你你真的首先编译类:
javac hello.java
java hello
其他提示
首先,使用编译.java
文件 javac
hello.java
产生hello.class
文件。然后,使用命令 java
一个执行的类> hello
- 使用.class
配置时,如果不包括java
扩展
另外,我想指出,这是惯例,类名称以大写字母 - hello
应该Hello
java -verbose hello.class
...含义“哎,爪哇,运行在类 'hello.class' 主()方法。
Java的不能找到一个名为“hello.class”级。你的类被称为“你好”。
java -verbose hello
由于 ''在你的classpath,Java将找到” ./hello.class'的“你好”类。
附加提示:这是在Java中传统与大写字母开头的类
public class Hello {
这有助于你的代码的其余部分类引用和变量引用之间进行区分。
Dessert dessert= new Dessert("tiramisu")
java -verbose hello
不隶属于 StackOverflow