Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

即上篇通過將web項目打成war包部署到Tomcat服務(wù)器,解決MySQL問題后,又出現(xiàn)了新問題,真是一波三折,所以將解決過程分享給大家,希望能幫助到小伙伴們~

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),彌渡企業(yè)網(wǎng)站建設(shè),彌渡品牌網(wǎng)站建設(shè),網(wǎng)站定制,彌渡網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,彌渡網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

將打好的war包拷貝到Tomcat的webapps目錄,然后在Tomcat的bin目錄找到startup.bat批處理文件,直接雙擊執(zhí)行,結(jié)果運行幾秒后直接閃退,頓時有種不好的預(yù)感,在瀏覽器訪問web項目,結(jié)果連localhost:8080都無法訪問,web項目未發(fā)布成功,一臉懵逼~

沒有日志看不到為啥發(fā)布不成功額,想了想,可以稍微修改下startup.bat批處理文件,添加PAUSE,這樣運行結(jié)束只有按任意鍵才會關(guān)掉窗口(調(diào)試成功,在去掉PAUSE)。

如果有錯誤信息,這時候會顯示出來,可以再根據(jù)它的錯誤提示。

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

此時,發(fā)現(xiàn)顯示了一些環(huán)境變量,是不是環(huán)境變量沒有配置引起的報錯呢,就去檢查了下,發(fā)現(xiàn)沒有配置JRE_HOME環(huán)境變量。配置后,發(fā)現(xiàn)還是閃退。

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

也不清楚時環(huán)境變量引起的還是什么原因,沒轍了,只能再找度娘了。

經(jīng)過查資料,關(guān)于Tomcat中startup.bat原理的相關(guān)內(nèi)容,覺得很有幫助,摘取部分片段分享下,可能跟解決這個問題沒關(guān)系,可略過~

startup.bat 解析

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

 驗證CATALINA_HOME 環(huán)境變量是否設(shè)置,如果沒有設(shè)置則通過CATALINA_HOME/bin目錄下查找catalina.bat文件來確定CATALINA_HOME環(huán)境變量是否有效,如果沒有找到catalina.bat 則goto end,結(jié)束。

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

驗證catalina.bat是否存在,如果不能存在則結(jié)束。

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

判斷啟動 startup.bat 是否有參數(shù),如果有參數(shù),如果有有則賦值給 CMD_LINE_ARGS變量。

通過call執(zhí)行catalina.bat ,并傳入?yún)?shù)。

其實startup.bat 的主要作用就是幫你找到catalina.bat并執(zhí)行它。

好處:

如果你配置CATALINA_HOME的環(huán)境變量了,就可以把startup.bat 放到任何目錄下,都可以啟動tomcat了。

 好了,根據(jù)對startup.bat文件的解析,發(fā)現(xiàn)現(xiàn)在的問題跟環(huán)境變量沒關(guān)系。瞬間有點失落。經(jīng)驗告訴我,可以查看日志撒。發(fā)現(xiàn)日志存在錯誤日志額。

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

問題解決方法請參考:Web項目打成war包部署到tomcat時報MySQL Access denied for user 'root'@'localhost' (using password: YES)錯誤解決方案

Tomcat其他問題總結(jié):

問題一:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Tomcat的startup.bat,它調(diào)用了catalina.bat,而catalina.bat則調(diào)用了setclasspath.bat,只要在setclasspath.bat的開頭聲明環(huán)境變量(紅色兩行)就可以了,原因是后來較新版本安裝完不會自動登記環(huán)境變量JAVA_HOME,JRE_HOME。

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

這樣在每次運行startup.bat時就自動注冊了JAVA_HOME,JRE_HOME。

問題二:Cannot find "D:\Program Files\apache-tomcat-7.0.52\bin\setclasspath.bat"

可能是CATALINA_HOME的值在某個地方被寫死了,像我的綠色版tomcat在bin文件下多了一個setenv.bat的文件,打開一看果然是在這里面被寫死了CATALINA_HOME的路徑,這應(yīng)該是為了某種原因被人后加上的設(shè)置文件,把這個文件刪除之后,tomcat可以正常運行了。

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

這種情況,可以去看catalina.bat中的配置,如下圖,可能配置死的內(nèi)容就在這個文件里。

Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案

總結(jié)

以上所述是小編給大家介紹的Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!

網(wǎng)頁題目:Web項目打成war包部署Tomcat時運行startup.bat直接閃退部署失敗的快速解決方案
轉(zhuǎn)載來源:http://bm7419.com/article42/gihohc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、Google、搜索引擎優(yōu)化、品牌網(wǎng)站建設(shè)、App設(shè)計、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)