用戶詢問 server.xml 中 <Host> 標籤的 webapps 屬性(實為 appBase)與 Eclipse/IDEA 中 Server Locations 的 Deploy Path 關係。
| 配置項 | 位置 | 含義 | 生效範圍 |
|---|---|---|---|
appBase | server.xml <Host> | Web 應用部署的基礎目錄,相對於 CATALINA_BASE 或絕對路徑 | Tomcat 實例級,所有 Host 共享或各自配置 |
| Deploy Path | IDE Server 配置界面 | IDE 將專案發布到 Tomcat 的具體目錄 | IDE 專案級,僅影響該 IDE 管理的發布行為 |
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="ROOT" />
<Valve className="org.apache.catalina.valves.AccessLogValve" ... />
</Host>
appBase="webapps":默認值,即 $CATALINA_BASE/webapps以 Eclipse 為例,Server Locations 三種模式:
$CATALINA_HOME/webapps(需寫入權限).metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps(默認,不污染安裝目錄)IDE 會將專案編譯後的類文件、資源文件、web.xml 等按 Web 應用結構複製到 Deploy Path 對應目錄,Tomcat 按 appBase 掃描並加載。
appBase 是 Tomcat 運行時 讀取應用的根目錄appBase 目錄即可docBase 可覆蓋單個 Context 的實際路徑,優先級高於 appBase