Java 提示“找不到或無法載入主類” 解決方法

NO IMAGE

今天需要用 java 寫一段程式,從來沒用 java 幹過活,先來個 HelloWorld,結果發現 java 的開發工具是我見過的最難用的,最近學過的 go,haskell,erlang 都一次性成功。下面這段程式碼在 eclipse 裡面執行正常,在 dos 命令列下用 java Hello 命令列死活都不工作。

public class Hello {
public static void main(String[] args) {
System.out.println("hello!");
}
}

仔細研究了一下,發現實際上是 java 路徑設定不對,感覺系統變數是不是在安裝的時候給設好?還需要我自己手動太弄這個東西,太不人性化了吧?主要設定下面兩個個系統變數:

JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_131"
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 

其中,CLASSPATH 路徑最前面的那個 “.;” 一定別漏了,這個代表當前資料夾,你要是在當前資料夾下執行 java Hello,就需要這個設定。

另外需要注意的是,Hello.java 檔案不要用 package,如果實在要用,執行的時候要在檔名前面加上對應的路徑,因為 java假設包的結構和原始檔儲存的資料夾結構是一致的。