java web工程發布以及解決tomcat閃退


1、tomcat閃退

1.1 環境變量錯誤

  startup.bat最后假如PAUSE進入調試狀態,雙擊startup.bat,可以看到錯誤,根據錯誤提示設置相應的環境變量,JAVA_HOME等。

1.2 eclispe設置問題

  當eclispe server locations選項為第二項時,發布項目會修改tomcat下面的server.xml文件,如果中間存在手動清理發布目錄會導致server.xml中注冊的web服務找不到相關文件而導致閃退;也就是說,閃退也可以查看server.xml,是不是配置錯誤導致的。

2、eclipse發布web工程

2.1 將server locations設置為可配狀態

  右鍵server,選擇Add and Remove...,然后選擇Remove all,確定。

  右鍵server,選擇clean。

    

2.2 配置server locations

  選項如圖所示

    

  經過a步驟可以使得選項成可選狀態,其中:

  第一項為使用eclipse本地配置metadata,並不會修改tomcat配置,而是部署調試的web項目在eclipse工作空間,調用tomcat組件實現啟動web服務。

  第二項為使用tomcat安裝目錄,並且會修改server.xml文件

  第三項為使用特定目錄

  其他選項:server path為tomcat根目錄,Deploy為發布目錄。

  如果上圖選擇第一項, 發布的路徑是D:\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps,並且調用tomcat組件,調試本地項目,tomcat webapps下的項目並不會啟動,如果訪問localhost:8080會產生404錯誤。

  如果選擇第二個選項,會在tomcat目錄下建立一個wtpwebapps文件夾,並且會把web工程生成的產物拷貝到該目錄下, 同時會在tomcat的conf目錄下的server.xml中<host>節點注冊一個web工程,如圖:

     

  docBase為web工程文件,可為mavern target下的相應工程名的文件夾產物,也可以為war文件,path則為url的地址。此時,tomcat中部署的其他web服務也能正常訪問(不推薦這種方法)。如果中間存在錯誤,可能導致tomcat獨立啟動時閃退。

  第三個選項暫時沒用過,應該是可以自定義發布的路徑。

3、tomcat發布工程

3.1 發布到webapps目錄下

  將工程名產物文件夾或者導出為war包放到目錄下即可,war在tomcat會多一個步驟,就是解壓為和產物文件夾一樣的文件夾。

3.2 發布到其他路徑(如tomcat下的mydir)

  將相應工程文件夾或者war拷貝到tomcat下的mydir下

  修改conf下的server,在host節點下增加context節點,注冊web服務。

   

  path="" 為部署后運行的url路徑,docBase為你的war的文件名。 第一次運行的時候,tomcat會自動解壓war,生成path指定名稱的網站。

  不管是war文件還是web工程產物文件夾,最終都會被tomcat拷貝到webapps下面,只是war是解壓之后拷貝。

 4、發布到tomcat下是war好還是產物文件夾好?

  個人認為:打成war包的好處是不會缺少目錄,並且只管理好一個發布文件就好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM