首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java Classpath 中的點號(.)代表當前工作目錄,IDE 編譯輸出目錄通常為 src 或 bin

     編輯:程式設計綜合問答

Classpath 組成

java -cp ".:lib/*:classes" com.Main
// .  表示當前工作目錄(啟動 java 命令的目錄)
// lib/* 表示 lib 目錄下所有 jar
// classes 表示編譯輸出目錄

IDE 專案結構

IDE源碼根目錄編譯輸出目錄運行時 Classpath 包含
Eclipsesrc/bin/bin/ + 專案引用的庫
IntelliJ IDEAsrc/main/java/out/production/ModuleName/輸出目錄 + 依賴 jar
Maven/Gradlesrc/main/java/target/classes/ / build/classes/輸出目錄 + 依賴 jar

import 搜尋邏輯

  1. JVM 從 Classpath 根目錄開始,根據包名路徑查找 .class 檔案。
  2. 例如 import com.example.User; → 尋找 Classpath根目錄/com/example/User.class。
  3. 當前工作目錄 . 只有在 Classpath 顯式包含 . 時才生效,**不等於源碼目錄**。

常見誤區

  • 以為 . 指向 src/ → 錯誤,. 是啟動命令的目錄。
  • IDE 運行時自動構建 Classpath,**不依賴 .**。
  • 手動 javac -d bin src/com/Example.java 後,java -cp bin com.Example 才能執行。
  • 總結:Classpath 根目錄 = 編譯輸出目錄,源碼目錄僅供編譯器讀取,不在運行時 Classpath 中。

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