1. 程式人生 > >IntelliJ IDEA+SpringBoot+Tomcat部署404問題

IntelliJ IDEA+SpringBoot+Tomcat部署404問題

因為並行開發,後端一直拿不出介面,我不得不自己做Mock,為了完成網路請求邏輯,我使用Idea做模擬介面。後來發現,使用Idea建立的SpringBoot專案在軟體內部的虛擬Tomcat上面可以正常執行,但是因為要做一些WebSocket和檔案上傳等服務,座椅考慮把程式部署到外部的Tomcat。普通的Web程式都沒有問題,SpringBoot部署之後總是404。自己也懷疑想得太簡單,估計問題還是出在那個DemoApplication的啟動設定上。還好最近終於找到解決辦法。

一、首先是要修改DemoApplication.java檔案,我是另外建了一個。

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);
    }
}
二、然後在pom.xml檔案新增以下內容
        <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.改成資料夾方式釋出,內部啟動,同樣成功訪問.

至此,問題解決。