首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java Classpath 完整解析:從入門到精通類別載入機制

     編輯:Java 程式設計入門

前言

Java 新手常被 classpath 困擾:開發環境能跑、部署卻失敗,或反之。本文徹底解析 classpath 運作原理,看懂後包你無憂。作者:丑丑牛。

核心概念:JVM 如何尋找類別

執行 java com.shinechina.MyClass 時,JVM 依 classpath 順序尋找。假設有兩個版本的 MyClass 分別在 c:\mylib 與 d:\mylib,classpath 為 c:\mylib;d:\mylib;d:\jdk1.2.2\lib\rt.jar,JVM 會先在 c:\mylib 找到 com\shinechina\MyClass.class 並執行版本 1,忽略版本 2。若 classpath 反過來,則執行版本 2。

指定 classpath 執行特定版本:

java -classpath d:\mylib;%classpath% com.shinechina.MyClass

開發環境中的 Classpath

IDE(JBuilder、JDeveloper、VisualAge)皆有專屬 classpath 設定,不讀取系統變數,這就是「外面能跑、IDE 跑不了」的主因。設定方式:

  • JBuilder/JDeveloper:Project → Project Properties → Paths → Add 加入庫或目錄。
  • VisualAge:右鍵類別 → 特性 → 類別路徑 → 編輯/全選/立即計算。

純 JDK 開發者需自行設定系統 CLASSPATH 或編譯執行時用 -classpath 參數。

新手最易犯錯誤:錯誤指定 classpath 路徑

類別檔位於 c:\mylib\com\shinechina\MyClass.class,正確 classpath 應為 c:\mylib(套件根目錄),而非 c:\mylib\com\shinechina 或 c:\mylib\com。JVM 會依套件結構從 classpath 根目錄往下遞歸尋找。

總結

掌握 classpath 順序、套件根目錄概念、IDE 獨立設定機制,即能解決 90% 的類別找不到問題。建議參考《Java深度歷險》深入了解 ClassLoader 機制。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved