設定類路徑有兩種主要途徑:
-classpath 或 -cp(每個應用獨立,互不干擾)CLASSPATH(影響所有 Java 程式)| 資源類型 | 路徑結尾 |
|---|---|
| .jar / .zip 歸檔包 | 完整檔名,如 C:\libs\util.jar |
| 未命名包類文件 | 包含 .class 文件的目錄 |
| 已命名包類文件 | 包含「根包」的父目錄(如包為 com.app,路徑結尾為 ...\com 的父目錄) |
多路徑以分號 ; 分隔(Windows)。
rt.jar 等核心庫jre/lib/ext 目錄下的 JAR-classpath 或 CLASSPATH 指定的路徑關鍵提示:JDK 1.2 起預設類路徑為當前目錄
.。一旦手動設定CLASSPATH或使用-classpath,預設值即被覆蓋,必須顯式加入.才能搜尋當前目錄。
Java 要求必須指定完整包名。例如類 utility.myapp.Cool 位於 C:\Java\MyClasses\utility\myapp\Cool.class,類路徑必須設為 C:\Java\MyClasses,啟動命令:
java -classpath C:\Java\MyClasses utility.myapp.Cool
錯誤示範:設定路徑到 C:\Java\MyClasses\utility 並執行 java myapp.Cool —— JVM 找不到類,因為包名不完整。
java -classpath lib/app.jar com.app.Mainjava -classpath dir1;dir2 ...set CLASSPATH=(僅當前會話)autoexec.bat;NT 系統在「控制面板→系統→環境變數」中調整JDK/jre/classes 或 /classes 目錄,升級 JDK 時會丟失CLASSPATH 可保留,但建議改用啟動腳本傳參