IntelliJ IDEA+SpringBoot+Tomcat部署404問題
阿新 • • 發佈:2019-01-29
因為並行開發,後端一直拿不出介面,我不得不自己做Mock,為了完成網路請求邏輯,我使用Idea做模擬介面。後來發現,使用Idea建立的SpringBoot專案在軟體內部的虛擬Tomcat上面可以正常執行,但是因為要做一些WebSocket和檔案上傳等服務,座椅考慮把程式部署到外部的Tomcat。普通的Web程式都沒有問題,SpringBoot部署之後總是404。自己也懷疑想得太簡單,估計問題還是出在那個DemoApplication的啟動設定上。還好最近終於找到解決辦法。
一、首先是要修改DemoApplication.java檔案,我是另外建了一個。
二、然後在pom.xml檔案新增以下內容import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.support.SpringBootServletInitializer; @SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
三、資料標識要新增<packaging>war</packaging>這個標籤,但是我的檔案中已經有<packaging>jar</packaging>這個標籤,我嘗試沒有動,結果表示沒有問題。
四、按照以往的方法配置Artifacs和Tomcat Server.
五、嘗試執行:
1.首先Artifacs設定為war包釋出,Build Artifacs,放在webapps,啟動Moniter Tomcat ,成功訪問;
2.同上,內部啟動,也能成功訪問;
3.改成資料夾方式釋出,內部啟動,同樣成功訪問.
至此,問題解決。