起因 ?
在 Windows 下運(yùn)行 Tomcat 應(yīng)用服務(wù)器,最簡(jiǎn)單的方式就是雙擊 startup.bat 了,或者是在命令行窗口中輸入 startup.bat。
按照 Tomcat 的默認(rèn)設(shè)置,最后 Tomcat 會(huì)運(yùn)行在一個(gè)新建的命令行窗口中(和 startup.bat 不在同一個(gè)命令行窗口中)。這種方式有個(gè)很麻煩的問(wèn)題,就是 一旦 Tomcat 遇到致命錯(cuò)誤 (常見(jiàn)的有 -Xms 或 -Xmx 設(shè)置過(guò)大,或者 Tomcat 要使用的端口已經(jīng)被其他應(yīng)用程序搶占等), 該新建的命令行窗口就會(huì)直接關(guān)閉 。對(duì)于使用者來(lái)說(shuō),其感受就是 Tomcat 窗口一閃而過(guò),難以看到具體錯(cuò)誤信息是什么。
解決方法 ?
其實(shí)解決方法也很簡(jiǎn)單,我們看看 {TOMCAT_HOME}/bin 目錄下的 catalina.bat 文件,其中有這樣一段內(nèi)容:
echo Usage: catalina ( commands ... ) echo commands: echo debug Start Catalina in a debugger echo debug -security Debug Catalina with a security manager echo jpda start Start Catalina under JPDA debugger echo run Start Catalina in the current window echo run -security Start in the current window with security manager echo start Start Catalina in a separate window echo start -security Start in a separate window with security manager echo stop Stop Catalina echo version What version of tomcat are you running?
注意這兩行:
echo run Start Catalina in the current window echo start Start Catalina in a separate window
原來(lái) run 就是在當(dāng)前窗口中運(yùn)行,而 start 就是在新窗口中運(yùn)行。
然后我們?cè)賮?lái)看 startup.bat 文件,最后有一行:
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
果然是用了 start 參數(shù)。那么我們就把它改成 run :
call "%EXECUTABLE%" run %CMD_LINE_ARGS%
這樣,Tomcat 就會(huì)運(yùn)行在當(dāng)前命令行窗口。以后再碰到任何致命錯(cuò)誤,窗口也不會(huì)關(guān)閉了。使用者可以慢慢看咯。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
