我有一個簡單類異常運行通過命令行Java代碼時
package chapter10;
public class CompilationTest {
public static void main(String[] args) {
System.out.println("HELLO WORLD");
}
}
的路徑是
Test\src\chapter10\CompilationTest.java
我成功編譯代碼到相同的文件夾,我現在有
Test\src\chapter10\CompilationTest.class
但是,當我嘗試從相同的文件夾運行它,我得到這個錯誤
>java CompilationTest
Exception in thread "main" java.lang.NoClassDefFoundError: CompilationTest (wrong name: chapter10/CompilationTest)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
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)
Could not find the main class: CompilationTest. Program will exit.
當我運行使用java chapter10.PropertiesTest
使用
>java chapter10/PropertiesTest
Exception in thread "main" java.lang.NoClassDefFoundError: chapter10/PropertiesTest
Caused by: java.lang.ClassNotFoundException: chapter10.PropertiesTest
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)
Could not find the main class: chapter10/PropertiesTest. Program will exit.
爲什麼java想讓我先到父目錄? – unj2 2010-05-02 04:56:18
我已經給答案添加了一個說明。 – 2010-05-02 05:03:07
'CLASSPATH'環境變量被認爲是不好的做法。而是使用'-cp'或'-classpath'參數或只是'.bat' /'.sh'文件。 – BalusC 2010-05-02 05:05:44