1. 程式人生 > >IDEA啟動tomcat 工作原理

IDEA啟動tomcat 工作原理

1.IDEA啟動tomcat工作原理

idea啟動tomcat 會列印:

我們需要關注的是CATALINA_BASE與CATALINA_HOME的區別,這裡雖然表示的路徑是一樣的,配置tomcat多例項的時候就會不一樣了

CATALINA_BASE    是tomcat的工作目錄

CATALINA_HOME   是tomcat的安裝目錄

【官方解釋】 
Throughout the docs, you’ll notice there are numerous references to CATALINA_HOME. This represents the root of your Tomcat installation. When we say, “This information can be found in your CATALINA_HOME/README.txt file” we mean to look at the README.txt file at the root of your Tomcat install. Optionally, Tomcat may be configured for multiple instances by defining CATALINA_BASE for each instance. If multiple instances are not configured, CATALINA_BASE is the same as CATALINA_HOME.

意思為 : CATALINA_HOME是Tomcat的安裝目錄,CATALINA_BASE是Tomcat的工作目錄 
目的在於 : 當你需要在一臺機器上面部署多個Tomcat例項,但是你又不想建立多個Tomcat的副本,換句話說就是讓這些Tomcat副本擁有自己的工作目錄但是共享Tomcat的程式碼。(舉個簡單的例子,就好比你裝了qq影音播放視訊,你可以同時用QQ影音開啟多個視訊同時觀看,這就是多例項,他們共享QQ影音這個主程式)
 

為社麼要這麼做?這樣做的好處有什麼?

1.在專案啟動後IDEA會自動建立一個tomcat副本,最終執行環境還是CATALINA_HOME裡面的lib,只是一些配置檔案是使用的CATALINA_BASE目錄裡面的,如下圖。

tomcat  CATALINA_BASE 工作目錄

tomcat CATALINA_HOME 安裝目錄

如果有多個專案可以想一想每個專案會有自己獨立的CATALINA_BASE目錄,這也就說明每個專案的CATALINA_BASE目錄不會互相沖突,這點可以提高一個tomcat的多可用性,也就是官方所講到的。

2.做到以上是解決了tomcat可以為多個工程提供多個例項但是並不完整。

與此同時IDEA本身將每個專案的輸出路勁從tomcat中分離開來,一本預設路勁就是專案的根目錄,這樣就把剛剛第一點不足完善了。

當然如何你想要傳統的部署方式IDEA肯定也是支援的,只不過要配置下。其實很簡單就是把剛剛我們上面提到的兩點手動配置。

這裡就不再更改了。

 

總結出IDEA啟動tomcat工作原理,可以得出跟傳統專案差距還是挺大的,所以當使用Eclipse和MyEclipse的使用者來說一下子轉到IDEA下進行開發非常不習慣,但是IDEA的強大吸引了許多開發者,並讓大家愛不釋手。