一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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 啟動分析做的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲激情在线视频 | 日韩精品福利视频一区二区三区 | 久九九精品免费视频 | 四虎国产精品免费入口 | 欧亚精品一区二区三区 | 亚洲春色综合另类网蜜桃 | 青春草在线观看视频 | 美女和男生搞基 | 99久久综合 | 2019年国产不卡在线刷新 | 激情影院费观看 | chinese国产人妖videos | 我与旗袍老师疯狂床震 | 四虎欧美 | 久久精品麻豆国产天美传媒果冻 | 日本不卡在线一区二区三区视频 | 国产久热香蕉在线观看 | 东北老妇露脸xxxxx | 女上男下gifxxoo动态视频 | 国产乱人乱精一区二区视频密 | 日韩成片 | 男人使劲躁女人视频免费 | 楚乔传第二部全60集免费观看 | 日本全黄三级在线观看 | 成人福利在线观看 | 国模娜娜一区二区三区 | 亚洲国产精品久久久久久网站 | 国产资源免费观看 | 久久这里只有精品视频e | 甜宠巨肉h文1v1校园 | 亚洲伦理天堂 | 久久视频在线视频观看精品15 | 果冻传媒 天美 麻豆 | 为什么丈夫插我我却喜欢被打着插 | 亚洲黄色高清 | 亚洲精品午夜级久久久久 | 男插女的下面免费视频夜色 | 婷婷日日夜夜 | 女人扒开下面让男人桶爽视频 | 3d蒂法受辱在线播放 | 男人曰女人 |