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

Eclipse 中 javac 與 java 命令的運作機制圖解

     編輯:Java 相關知識

前言

許多 Java 初學者在 Eclipse 中寫代碼時,只知道「存檔就能跑」,卻不清楚背後發生了什麼。本文透過圖解說明 Eclipse 如何自動調用 javac 編譯與 java 執行命令。

一、存檔觸發 javac 編譯

當你按下 Ctrl+S 存檔 .java 原始碼時,Eclipse 立即在背景執行 javac 編譯:

  • 輸入:.java 原始檔
  • 輸出:.class 位元組碼檔案
  • 輸出目錄:專案屬性 → Java Build Path → Source 頁籤 → Default output folder(預設為 bin 或 target/classes)

Eclipse 編譯輸出目錄設定

二、執行觸發 java 命令

當你在編輯器中右鍵選擇 Run As → Java Application(或按 F11)時:

  1. Eclipse 檢查對應的 .class 是否存在且是最新
  2. 若不存在或原始碼已修改,先自動執行 javac 編譯
  3. 然後以 java 全限定類名 啟動 JVM 執行 main 方法

Eclipse 執行配置

核心差異速查表

指令用途觸發時機輸入輸出
javac編譯器存檔、專案建置、執行前檢查.java.class
java執行器Run As → Java Application.class程式輸出

常見誤區與提示

  • 誤區:以為 Eclipse 執行時直接跑 .java。事實上 JVM 只認 .class 位元組碼。
  • 輸出目錄:若手動刪除 bin 目錄下的 .class,下次執行會自動重新編譯。
  • 增量編譯:Eclipse 採用增量編譯,只重新編譯有變動的檔案與受影響的依賴,大幅提升大型專案建置速度。

命令列對照:若離開 IDE 手動操作

# 編譯
javac -d bin src/com/example/Hello.java

# 執行
java -cp bin com.example.Hello

理解這層機制,有助於排查「明明存檔了卻跑舊代碼」、「ClassNotFoundException」等經典問題。

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