| 組件 | 全稱 | 包含內容 | 適用場景 |
| JRE | Java Runtime Environment | JVM + 核心類庫(rt.jar)+ 啟動器 | 運行 Java 程序的生產環境、用戶機器 |
| JDK | Java Development Kit | JRE + 開發工具(javac, jar, javadoc, jdb, jconsole...) | 開發機器、構建服務器、CI/CD 節點 |
結論:安裝 JDK 即包含 JRE,無需單獨安裝 JRE。開發用 JDK,純運行用 JRE(體積更小)。
四、JDK 環境變量配置(Windows 示例)
- JAVA_HOME:
C:\Program Files\Java\jdk1.7.0_55(指向 JDK 安裝根目錄)
- Path:追加
%JAVA_HOME%\bin(使 javac、java 命令全局可用)
- Classpath:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
. 代表當前目錄(必須保留,否則當前目錄下類無法加載)
dt.jar:運行環境類庫
tools.jar:開發工具類庫(含 javac 等)
驗證配置
C:\> javac -version
javac 1.7.0_55
C:\> java -version
java version "1.7.0_55"
五、Tomcat 環境配置與驗證
1. 環境變量
CATALINA_HOME = G:\Program Files (x86)\apache-tomcat-9.0.0.M10
CATALINA_BASE = 同上(多實例時 BASE 指向實例目錄)
Classpath 追加 %CATALINA_HOME%\lib\servlet-api.jar(編譯 Servlet 所需)
2. 啟動驗證
- 執行
startup.bat(Windows)或 startup.sh(Linux)
- 瀏覽器訪問
https://localhost:8080,出現 Tomcat 貓首頁即成功
3. 自建 Web 應用目錄結構
webapps/
└── myapp/
├── index.jsp
└── WEB-INF/
├── web.xml
└── classes/
└── test/
├── Test.class (Servlet)
└── TestBean.class (JavaBean)
4. 關鍵配置文件
web.xml 注冊 Servlet:
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
TestBean.jsp 使用 JavaBean:
<jsp:useBean id="tb" class="test.TestBean" scope="page" />
<jsp:getProperty name="tb" property="name" />
六、常見配置錯誤避坑
| 錯誤現象 | 原因 | 修正 |
javac 不是內部命令 | Path 未配置 %JAVA_HOME%\bin | 添加到 Path 最前或重新打開 CMD |
| 類找不到/ClassNotFound | Classpath 缺少 . 或路徑錯誤 | 確保 . 在首位,路徑用分號分隔 |
| Tomcat 啟動閃退 | JAVA_HOME 指向 JRE 而非 JDK / 端口佔用 | JAVA_HOME 指向 JDK;netstat -ano | findstr 8080 檢查端口 |
| Servlet 404 | url-pattern 不匹配 / 類路徑錯誤 | 檢查 web.xml mapping 與類包結構一致 |
七、總結
本文覆蓋 Java 學習的「第一公里」:版本體系認知、JVM 跨平台本質、JDK/JRE 選擇、環境變量標準化配置、Tomcat 部署與自建 Web 應用驗證。配置無小事,JAVA_HOME、Path、Classpath 三大變量配對,是後續所有 Java 開發的基石。建議在虛擬機/容器中反覆練習全手動配置,建立肌肉記憶。
- 上一篇文章: Bug 復盤:Eclipse 集成 Lombok 插件全流程與 Spring Boot 啟動驗證
- 下一篇文章: Spring Bean 配置全解析:XML 元素屬性詳解、生命周期、集合注入與自動裝配實戰
Copyright ©
程式碼之家 All Rights Reserved