理解 IDE 開發目錄與 Tomcat 發布路徑的對應關係,是定位 ClassNotFound、資源加載失敗、配置文件找不到等經典問題的關鍵。本文以 Dynamic Web Project 為例,圖解目錄映射規律。


發布根目錄 = 項目名(Context Path),下含:
META-INF/:MANIFEST.MF 等元數據WEB-INF/:classes/(編譯後 .class 文件,包路徑轉目錄)、lib/(依賴 JAR)、web.xmltest/、其他 WebContent 下文件/目錄 原樣保留
| 開發路徑 | 發布路徑 | 說明 |
|---|---|---|
src/com/cn/MyClass.java | WEB-INF/classes/com/cn/MyClass.class | 包路徑 → 目錄層級 |
src/log4j.properties | WEB-INF/classes/log4j.properties | 資源文件同步複製 |
WebContent/WEB-INF/lib/*.jar | WEB-INF/lib/*.jar | 原樣複製 |
WebContent/test/page.jsp | test/page.jsp | WebContent 內容扁平化到根目錄 |
<context-param>
<param-name>log4j-properties-location</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
/ 代表發布根目錄(即 Context Path)WebContent/WEB-INF/log4j.properties