理解 JBuilder 類別庫架構是解決「Class not found」編譯錯誤的鑰匙。本文從程式碼引用外部類別的三大來源、專案擴展類別庫三種定義方式、JBuilder 類別庫角色,構建完整心智模型。
import java.util.* 即用。鐵律:import 的類別必須來自以上三者之一,否則編譯失敗「does not exist」。
| 方式 | 操作 | 適用場景 |
|---|---|---|
| 共享其他專案 | Required Libraries → Add → Projects 標籤選專案 | 多模組專案、核心模組被多專案引用 |
| JAR/ZIP 檔 | Required Libraries → Add → Archive 標籤選檔案 | 專案專用、版本鎖定、無來源碼第三方庫 |
| JBuilder 類別庫 | Required Libraries → Add → Libraries 標籤選全域庫 | 團隊通用庫 (Log4j, Spring, Hibernate...) |
關鍵概念:JBuilder 類別庫是「全域資源庫」,專案必須顯式引用特定 JBuilder 類別庫,其 Class/Source/Documentation 路徑才會加入專案的編譯/執行 Classpath。
JBuilder 類別庫 --(專案引用)--> 專案擴展類別庫 --(編譯/執行)--> javac/java -classpath

圖:程式碼 → 專案擴展類別庫 (三來源) → JBuilder 類別庫 / 共享專案 / JAR 檔
開發人員可手動維護擴充,建立團隊標準庫。
JBuilder 自動將專案擴展類別庫所有路徑拼接至 javac -classpath 與 java -classpath,因此:
| 現象 | 原因 | 解決 |
|---|---|---|
| 加入 JBuilder 類別庫仍報 Class not found | 未在專案 Required Libraries 勾選該庫 | 專案屬性 → Required Libraries → Add → Libraries 選取 |
| 共享專案類別不可見 | 被共享專案未編譯 / 輸出路徑不在共享設定中 | 確認被共享專案有輸出 class,且共享設定包含輸出資料夾 |
| JAR 內類別找不到 | JAR 損壞 / 套件結構與 import 不符 | 用 jar tf 檢查 JAR 內部路徑 |
lib/ 並加入版控,Required Libraries 用 Archive 方式引用。徹底掌握類別庫架構,讓「Class not found」成為歷史,專注於業務邏輯開發。