我試圖運行一個非常簡單的程序,並且遇到錯誤。我做了一個非常簡單的helloworld java程序,並且無法在Mac上從終端運行它。我已經檢查確保classpath設置正確,並且爲什麼它沒有運行而感到困惑。Hello World上的NoClassDefFoundError
下面是程序:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
這裏是終端命令:
Last login: Thu May 2 12:01:50 on ttys000
172-26-125-179:~ rohan$ cd /Users/rohan/Desktop
172-26-125-179:Desktop rohan$ ls
Hello.java
172-26-125-179:Desktop rohan$ echo $CLASSPATH
172-26-125-179:Desktop rohan$ export CLASSPATH=/Users/rohan/Desktop
172-26-125-179:Desktop rohan$ echo $CLASSPATH
/Users/rohan/Desktop
172-26-125-179:Desktop rohan$ java 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:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
172-26-125-179:Desktop rohan$
任何想法將不勝感激! UPDATE忽略在前一種情況下,這是我的問題的一個更好的視野:
Last login: Thu May 2 13:05:17 on ttys000
172-26-125-179:~ rohan$ cd /Users/rohan/Dropbox/Current/ds/lab6
172-26-125-179:lab6 rohan$ ls
Hello.java
172-26-125-179:lab6 rohan$ cat Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("hi");
}
}
172-26-125-179:lab6 rohan$ echo $CLASSPATH
172-26-125-179:lab6 rohan$ export CLASSPATH=/Users/rohan/Dropbox/Current/ds/lab6
172-26-125-179:lab6 rohan$ echo $CLASSPATH
/Users/rohan/Dropbox/Current/ds/lab6
172-26-125-179:lab6 rohan$ javac Hello.java
172-26-125-179:lab6 rohan$ java Hello.class
Exception in thread "main" java.lang.NoClassDefFoundError: Hello/class
Caused by: java.lang.ClassNotFoundException: Hello.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
172-26-125-179:lab6 rohan$
哪裏是類文件中創建? – OldProgrammer 2013-05-02 16:52:12
@OldProgrammer它不是;那就是問題所在。看看'ls'輸出。 – wchargin 2013-05-02 16:53:24