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

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

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

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

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

 

圖    在其他目錄下啟動(dòng)Tomcat出錯(cuò)

如果要想在任意目錄下都能啟動(dòng)Tomcat,就需要設(shè)置CATALINA_HOME環(huán)境變量,你可以將CATALINA_HOME添加到Windows XP系統(tǒng)的環(huán)境變量中,其值就是Tomcat的安裝目錄。在筆者的機(jī)器上,Tomcat的安裝目錄是D:\apache-tomcat-6.0.36-windows-x86\apache-tomcat-6.0.36。添加CATALINA_HOME環(huán)境變量的過(guò)程和前述添加JAVA_HOME環(huán)境變量的過(guò)程是一樣的。如果你不想在系統(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是否為空的語(yǔ)句。如果找不準(zhǔn)位置,干脆將設(shè)置CATALINA_HOME環(huán)境變量的這句代碼放到文件的第一行。JAVA_HOME環(huán)境變量也可以采用同樣的方式進(jìn)行設(shè)置。不過(guò),如果要在其他目錄下利用shutdown.bat來(lái)關(guān)閉Tomcat服務(wù)器,則需要在shutdown.bat文件中設(shè)置CATALINA_HOME和JAVA_HOME這兩個(gè)環(huán)境變量,設(shè)置變量的位置和startup.bat文件一樣,都是在判斷CATALINA_HOME是否為空之前。當(dāng)然,為了一勞永逸,避免重裝Tomcat后還要進(jìn)行設(shè)置(需要是同一版本的Tomcat安裝在同一位置),我們最好還是將CATALINA_HOME和JAVA_HOME這兩個(gè)環(huán)境變量添加到Windows XP系統(tǒng)的環(huán)境變量中。

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

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

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

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

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

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

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

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

相關(guān)文章

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

    java源碼閱讀之java.lang.Object

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

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

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

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

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

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

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

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

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

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

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

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

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

    Java?Mybatis使用resultMap時(shí),屬性賦值順序錯(cuò)誤的巨坑

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

    Spring Security的簡(jiǎn)單使用

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

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

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

最新評(píng)論

太湖县| 宝山区| 安仁县| 泾源县| 潮安县| 桂林市| 忻州市| 民县| 宁城县| 吉木乃县| 张北县| 潞西市| 绵竹市| 定安县| 安福县| 义乌市| 阿勒泰市| 长顺县| 清远市| 永登县| 开平市| 邓州市| 吐鲁番市| 北流市| 五寨县| 威宁| 醴陵市| 兴山县| 济阳县| 蒙自县| 娱乐| 曲阳县| 车险| 科技| 礼泉县| 双柏县| 兴宁市| 工布江达县| 崇文区| 千阳县| 贵南县|