IntelliJ IDEA通過Tomcat啟動項目過程分析


Tomcat部署項目的多種方式

Tomcat安裝目錄:${TOMCAT_HOME}

1.常規的webapps下
直接部署到${TOMCAT_HOME}/webapps下

2.利用控制台進行部署

3.外部部署
修改${TOMCAT_HOME}/conf/server.xml 在<Host>標簽下添加web所在的目錄指定path,如: 

<Context path="/xx" docBase="D:\\workspace\\xx\\target\\xx" reloadable="true" sessionCookiePath="/xx"sessionCookieName="yoursessionname"></Context>

4.${TOMCAT_HOME}/conf下建工程目錄鏡像
在conf目錄中,新建 Catalina\localhost目錄,在該目錄中新建一個xml文件,名字可以隨意取,只要和當前文件中的文件名不重復就行了,該xml文件的內容為: 

<Context path="/xx" docBase="D:\\workspace\\xx\\target\\xx" debug="0" privileged="true"></Context>

IntelliJ IDEA 啟動項目分析

IntelliJ IDEA 就是使用第四種部署方式,不過還是有些區別

IDEA 啟動/停止 Tomcat 通過catalina.bat run/stop
但是在${TOMCAT_HOME}/conf下,沒有Catalina\localhost\xxxx.xml文件
在.IntelliJIdea2017.1目錄下發現有相關的配置文件

文件的修改時間與內容和啟動項目的信息吻合

說明 IDEA 啟動E盤下Tomcat的時候,加載了C盤下的項目部署配置文件
下面看看catalina.bat的內容

判斷CATALINA_HOME是否為空,如果為空就把當前位置設置為CATALINA_HOME,還有CATALINA_BASE

E:\Work\TomcatIDEA\apache-tomcat-7.0.54

既然確定IDEA是通過E:\Work\TomcatIDEA\apache-tomcat-7.0.54\bin\catalina.bat啟動的,但是此Tomcat目錄下的文件修改時間都不是IDEA 啟動的時間,說明IDEA 沒有修改Tomcat目錄

在查看控制台信息時發現

Using CATALINA_BASE:   "C:\Users\xxxxx\.IntelliJIdea2017.1\system\tomcat\Unnamed_jeesite"
Using CATALINA_HOME:   "E:\Work\TomcatIDEA\apache-tomcat-7.0.54"

CATALINA_BASE和CATALINA_HOME區別

之前沒有仔細了解CATALINA_BASE和CATALINA_HOME區別
網上資料:

CATALINA_HOME是Tomcat的安裝目錄,CATALINA_BASE是Tomcat的工作目錄。如果我們想要運行Tomcat的 多個實例,但是不想安裝多個Tomcat軟件副本。那么我們可以配置多個工作目錄,每個運行實例獨占一個工作目錄,但是共享同一個安裝目錄 Tomcat每個運行實例需要使用自己的conf、logs、temp、webapps、work和shared目錄,因此CATALINA_BASE就 指向這些目錄。 而其他目錄主要包括了Tomcat的二進制文件和腳本,CATALINA_HOME就指向這些目錄。

IntelliJ IDEA就是利用CATALINA_BASE運行多個實例,如圖

 

via:http://blog.csdn.net/u013938484/article/details/69389836

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM