激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Tomcat啟動分析(我們為什么要配置CATALINA_HOME環境變量)

Tomcat啟動分析(我們為什么要配置CATALINA_HOME環境變量)

2020-06-12 14:13十年半山 JAVA教程

本文主要介紹Tomcat啟動分析的知識,這里整理了相關資料及分析原因和如何實現的方法,有興趣的小伙伴可以參考下

    用文本編輯工具打開用于啟動Tomcat的批處理文件startup.bat,仔細閱讀。在這個文件中,首先判斷CATALINA_HOME環境變量是否為空,如果為空,就將當前目錄設為CATALINA_HOME的值。接著判斷當前目錄下是否存在bin\catalina.bat,如果文件不存在,將當前目錄的父目錄設為CATALINA_HOME的值。根據筆者機器上Tomcat安裝目錄的層次結構,最后CATALINA_HOME的值被設為Tomcat的安裝目錄。如果環境變量CATALINA_HOME已經存在,則通過這個環境變量調用bin目錄下的“catalina.bat start”命令。通過這段分析,我們了解到兩個信息,一是Tomcat啟動時,需要查找CATALINA_HOME這個環境變量,如果在Tomcat的bin目錄下調用startup.bat,Tomcat會自動并正確設置CATALINA_HOME;二是執行startup.bat命令,實際上執行的是“catalina.bat start”命令。

如果我們不是在Tomcat的bin目錄作為當前目錄時調用startup.bat,就會出現如下圖所示的錯誤信息(在bin目錄的父目錄下調用除外)。

Tomcat啟動分析(我們為什么要配置CATALINA_HOME環境變量)

圖    在其他目錄下啟動Tomcat出錯

如果要想在任意目錄下都能啟動Tomcat,就需要設置CATALINA_HOME環境變量,你可以將CATALINA_HOME添加到Windows XP系統的環境變量中,其值就是Tomcat的安裝目錄。在筆者的機器上,Tomcat的安裝目錄是D:\apache-tomcat-6.0.36-windows-x86\apache-tomcat-6.0.36。添加CATALINA_HOME環境變量的過程和前述添加JAVA_HOME環境變量的過程是一樣的。如果你不想在系統的環境變量中添加,也可以直接在startup.bat文件中進行設置。下面是在startup.bat文件中設置CATALINA_HOME后的文件片段:

rem $Id: startup.bat 908749 2010-02-10 23:26:42Z markt $
rem ---------------------------------------------------------------------------

set CATALINA_HOME=D:\apache-tomcat-6.0.36-windows-x86\apache-tomcat-6.0.36

rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..

...

注意以粗體顯示的這句代碼的作用就是設置CATALINA_HOME環境變量,在它的下面是判斷CATALINA_HOME是否為空的語句。如果找不準位置,干脆將設置CATALINA_HOME環境變量的這句代碼放到文件的第一行。JAVA_HOME環境變量也可以采用同樣的方式進行設置。不過,如果要在其他目錄下利用shutdown.bat來關閉Tomcat服務器,則需要在shutdown.bat文件中設置CATALINA_HOME和JAVA_HOME這兩個環境變量,設置變量的位置和startup.bat文件一樣,都是在判斷CATALINA_HOME是否為空之前。當然,為了一勞永逸,避免重裝Tomcat后還要進行設置(需要是同一版本的Tomcat安裝在同一位置),我們最好還是將CATALINA_HOME和JAVA_HOME這兩個環境變量添加到Windows XP系統的環境變量中。

有的讀者可能會對Tomcat安裝目錄的環境變量的名字是CATALINA_HOME而感到奇怪,按照其他環境變量的設置來看,JAVA_HOME表示JDK的安裝目錄,那么應該用TOMCAT_HOME來表示Tomcat的安裝目錄,可為什么要使用CATALINA_HOME呢?實際上,在Tomcat 4以前,用的就是TOMCAT_HOME來表示Tomcat的安裝目錄,在Tomcat 4以后,采用了新的Servlet容器Catalina,所以環境變量的名字也改為了CATALINA_HOME。

在Windows系統下環境變量的名字是與大小寫無關的,也就是說,JAVA_HOME和java_home是一樣的。

了解了startup.bat文件以后,我們再來看看真正負責啟動Tomcat服務器的catalina.bat文件。通過分析catalina.bat文件,我們發現它還調用了一個文件setclasspath.bat。在setclasspath.bat文件中,它檢查JAVA_HOME環境變量是否存在,并通過JAVA_HOME環境變量,找到java.exe,用于啟動Tomcat。在這個文件中,還設置了其他的一些變量,代表調用Java的標準命令,有興趣的讀者可以自行分析一下這個文件。在執行完setclasspath.bat之后,catalina.bat剩下的部分就開始了Tomcat服務器的啟動進程。

直接執行catalina.bat時,需要帶上命令行的參數。讀者可以在命令提示符窗口下,執行catalina.bat,就會打印出catalina.bat命令的各種參數及其含義,如下圖所示。

Tomcat啟動分析(我們為什么要配置CATALINA_HOME環境變量)

(點擊查看大圖)圖     catalina.bat的各參數信息

其中常用的參數是start、run和stop。參數start表示在一個單獨的窗口中啟動Tomcat服務器,參數run表示在當前窗口中啟動Tomcat服務器;參數stop表示關閉Tomcat服務器。我們執行startup.bat,實際上執行的就是“catalina.bat start”命令;執行shutdown.bat,實際上執行的是“catalina.bat stop”命令。“catalina.bat run”命令有時候是非常有用的,特別是當我們需要查看Tomcat的出錯信息時。

在開發JSP程序時,經常會碰到自己機器上的8080端口號被別的應用程序占用,或者在配置server.xml時出現錯誤,當通過startup.bat(相當于執行“catalina.bat start”)啟動Tomcat服務器時,如果啟動過程中出現嚴重錯誤,由于是在單獨的窗口中啟動Tomcat服務器,所以一旦啟動失敗,命令提示符窗口就自動關閉了,程序運行中輸出的出錯信息也隨之消失,而且沒有任何的日志信息,這就使得我們沒有辦法找出錯誤原因。當出現錯誤時,我們可以換成“catalina.bat run”命令再次啟動,一旦啟動失敗,僅僅是Tomcat服務器異常終止,但是在當前的命令提示符窗口下仍然保留了啟動時的出錯信息,這樣我們就可以查找啟動失敗的原因了。

以上就對Tomcat 啟動分析做的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: japanese xxxxhd| 天天干干 | 国产成人精品区一区二区不卡 | av在线免费在线观看 | 日本在线视频免费 | 特级毛片免费视频 | 在线视频观看一区二区 | 日本不卡一区二区在线观看 | 懂色av懂色aⅴ精彩av | 精品国产一区二区在线观看 | 国产91一区| 国产亚洲精品久久午夜玫瑰园 | 撅高 自己扒开 调教 | 国产欧美日韩在线不卡第一页 | 日韩黄色精品视频 | 日韩毛片网站 | 免费黄网站在线播放 | 精品亚洲成a人在线观看 | 日韩视频一区二区三区在线观看 | 成年人视频免费 | 日本黄色片免费播放 | 免费一级a毛片免费观看 | 久久精品国产99国产精品澳门 | 手机国产乱子伦精品视频 | 久久久久二区 | 亚洲精品成人在线视频 | 欧美在线a| 亚洲九草 | 视频一区二区三区在线观看 | 国产超碰人人做人人爱 | 综合网天天色 | 日韩视频高清 | 天天艹综合 | 天天看成人免费毛片视频 | 免费一级特黄欧美大片勹久久网 | 久章草影院 | 亚洲欧美日韩中文在线 | 成人资源在线观看 | 31freehdxxxx欧美| 永久免费黄色片 | 精品一区二区久久久久 |