最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Tomcat啟動分析(我們?yōu)槭裁匆渲肅ATALINA_HOME環(huán)境變量)

 更新時間:2016年09月07日 10:26:24   作者:十年半山  
本文主要介紹Tomcat啟動分析的知識,這里整理了相關(guān)資料及分析原因和如何實現(xiàn)的方法,有興趣的小伙伴可以參考下

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

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

 

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

如果要想在任意目錄下都能啟動Tomcat,就需要設(shè)置CATALINA_HOME環(huán)境變量,你可以將CATALINA_HOME添加到Windows XP系統(tǒng)的環(huán)境變量中,其值就是Tomcat的安裝目錄。在筆者的機器上,Tomcat的安裝目錄是D:\apache-tomcat-6.0.36-windows-x86\apache-tomcat-6.0.36。添加CATALINA_HOME環(huán)境變量的過程和前述添加JAVA_HOME環(huán)境變量的過程是一樣的。如果你不想在系統(tǒng)的環(huán)境變量中添加,也可以直接在startup.bat文件中進(jìn)行設(shè)置。下面是在startup.bat文件中設(shè)置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 ..

...

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

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

在Windows系統(tǒng)下環(huán)境變量的名字是與大小寫無關(guān)的,也就是說,JAVA_HOME和java_home是一樣的。

了解了startup.bat文件以后,我們再來看看真正負(fù)責(zé)啟動Tomcat服務(wù)器的catalina.bat文件。通過分析catalina.bat文件,我們發(fā)現(xiàn)它還調(diào)用了一個文件setclasspath.bat。在setclasspath.bat文件中,它檢查JAVA_HOME環(huán)境變量是否存在,并通過JAVA_HOME環(huán)境變量,找到j(luò)ava.exe,用于啟動Tomcat。在這個文件中,還設(shè)置了其他的一些變量,代表調(diào)用Java的標(biāo)準(zhǔn)命令,有興趣的讀者可以自行分析一下這個文件。在執(zhí)行完setclasspath.bat之后,catalina.bat剩下的部分就開始了Tomcat服務(wù)器的啟動進(jìn)程。

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

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

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

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

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

相關(guān)文章

  • java源碼閱讀之java.lang.Object

    java源碼閱讀之java.lang.Object

    這篇文章主要介紹了java源碼閱讀之java.lang.Object,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)與算法之棧(Stack)實現(xiàn)詳解

    Java數(shù)據(jù)結(jié)構(gòu)與算法之棧(Stack)實現(xiàn)詳解

    這篇文章主要為大家詳細(xì)介紹了Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)筆記第二篇,Java數(shù)據(jù)結(jié)構(gòu)與算法之棧Stack實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • springboot項目編寫發(fā)送異常日志到企微工具包的操作方法

    springboot項目編寫發(fā)送異常日志到企微工具包的操作方法

    本文介紹了Springboot項目如何編寫發(fā)送異常日志到企業(yè)微信的工具包,內(nèi)容包括創(chuàng)建基礎(chǔ)Bean、配置類、pom依賴等步驟,并展示了如何通過nacos進(jìn)行配置,這為開發(fā)者提供了一種有效的日志管理方案,方便快速定位和處理項目中的異常問題,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • java實現(xiàn)數(shù)字炸彈

    java實現(xiàn)數(shù)字炸彈

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)數(shù)字炸彈,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Java中用于SMB/CIFS網(wǎng)絡(luò)的JCIFS庫的用法詳解

    Java中用于SMB/CIFS網(wǎng)絡(luò)的JCIFS庫的用法詳解

    JCIFS是一個強大的庫,允許Java應(yīng)用程序無縫地與SMB/CIFS資源進(jìn)行交互,本文將探討JCIFS的概念和工作原理以及如何在?Java?應(yīng)用程序中有效使用它,希望對大家有所幫助
    2024-12-12
  • Mybatis-Plus集成Sharding-JDBC與Flyway實現(xiàn)多租戶分庫分表實戰(zhàn)

    Mybatis-Plus集成Sharding-JDBC與Flyway實現(xiàn)多租戶分庫分表實戰(zhàn)

    這篇文章主要為大家介紹了Mybatis-Plus集成Sharding-JDBC與Flyway實現(xiàn)多租戶分庫分表實戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Maven打包上云的實現(xiàn)步驟

    Maven打包上云的實現(xiàn)步驟

    本文主要介紹了Maven打包上云的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Java?Mybatis使用resultMap時,屬性賦值順序錯誤的巨坑

    Java?Mybatis使用resultMap時,屬性賦值順序錯誤的巨坑

    這篇文章主要介紹了Java?Mybatis使用resultMap時,屬性賦值順序錯誤的巨坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring Security的簡單使用

    Spring Security的簡單使用

    這篇文章主要介紹了Spring Security的簡單使用,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下
    2021-04-04
  • Java?NIO實戰(zhàn)之多人聊天室

    Java?NIO實戰(zhàn)之多人聊天室

    這篇文章主要為大家詳細(xì)介紹了Java?NIO實戰(zhàn)之多人聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論

莱芜市| 定襄县| 宜兰市| 彰化县| 新安县| 卢龙县| 铁岭县| 凌云县| 越西县| 天镇县| 盐城市| 麻城市| 壤塘县| 祥云县| 景宁| 诸城市| 新邵县| 长武县| 天峻县| 鸡泽县| 新平| 巍山| 连山| 永靖县| 万全县| 锡林浩特市| 济南市| 邳州市| 锦州市| 延安市| 兴安盟| 手游| 汽车| 威远县| 肇东市| 绥滨县| 琼结县| 临泉县| 新宾| 昌邑市| 兰州市|