1. 程式人生 > >關於部署Javaweb專案到伺服器tomcat上,訪問專案報404,我自己的解決方法

關於部署Javaweb專案到伺服器tomcat上,訪問專案報404,我自己的解決方法

(我的專案是ssm+maven,伺服器是linux) 專案部署的步驟是: 1.在伺服器上面安裝jdk 2.在伺服器上面安裝mysql 3.在伺服器上安裝tomcat 4.將你的專案打成war包,放在伺服器上的tomcat/webapps目錄下 5.進入tomcat/bin目錄下,重啟伺服器 一般來說,重啟以後,你的war包如果沒問題,你訪問的路徑也沒問題,那麼你就可以訪問你的專案了,不過,還是有大坑,比如你部署上去了,去訪問,瘋狂報404,上網百度,一大堆的說本機jdk版本和伺服器jdk版本不一致,可能導致部署失敗,這是一個可能,配置檔案可能有問題,這也是一個可能。 我遇到的問題比較奇葩,本機jdk版本是1.8,伺服器上面的jdk版本是1.7,本機tomcat是8.5,伺服器上面tomcat是9.0,專案在本機測試的時候,沒有問題,可以正常訪問介面,打包成war包,第一次部署到伺服器上的時候,瘋狂報404,過了一會莫名其妙的就好了,可以訪問了,更新了專案以後,訪問路徑檢查了再檢查,和之前一樣,沒問題,但就是報404.不知道為什麼(注意訪問路徑一定要加上你的war包名,比如你本機訪問是localhost:8080/後面是你的介面名字,但是本機訪問伺服器上面的時候,就要寫成:伺服器ip地址:8080/war包名/你的介面名字。例:xxx.xxx.xx.xx:8080/abc/index.jsp)。 然後我測試了我最新上傳到伺服器的war包,把他部署到我本機的tomcat/wenapps下面,本機正常訪問,排除了war包得問題。但是在我的idea上邊啟動伺服器就會報war exploded:Error during artifact deployment,See server log for more details. 反正折騰了半天,就是不對,訪問就是404. 我的解決方法: 1.清空專案的target目錄,rebuild project 2.重新maven構建專案,再次從idea啟動伺服器,不會報war exploded的錯誤專案成功部署,postman測試介面成功訪問。 3.將專案target目錄下的(專案名).war包上傳到伺服器的tomcat/webapps目錄下 4.清空伺服器上面tomcat/work下面的Catalina目錄(我直接刪除了,裡面是一些專案的快取檔案,我為了排除影響就給刪了。) 5.重啟伺服器的tomcat,就莫名其妙的好了,不報404了 最後我個人的一些見解: 專案在tomcat上部署後,訪問報404,提示遠端伺服器找不到這個專案,那麼可能是你的專案沒有成功釋出到Tomcat伺服器上,如果你認為你的訪問路徑絕對沒問題,那麼可能要考慮一下jdk的環境問題和你的war包是否有問題,我應該屬於war包有問題,嘗試一下重新構建專案,在本機編譯,測試一下,正常執行後,把本機專案下的target目錄下的war包上傳到伺服器上在測試應該就沒問題。有的時侯,專案編譯會出問題,但是有的地方發現不了,就會有一下莫名其妙的bug。 第一次寫部落格,寫得不好,可能表達也不清楚,還請見諒。