SpringBoot在本地開發通過,部署到伺服器上失敗,無法訪問

Young5566發表於2019-03-09

今天剛剛完成了SpringBoot的一個微服務,於是將其打包成war包,然後放在了tomcat中的webapps目錄下,可是訪問時出現了404錯誤,如下:

image

tomacat啟動時日誌顯示
image
第一個顯示了Apache Tomcat/8.0.53,說明tomcat服務沒有問題,而是自己專案問題。在啟動日誌中,可以看出找不到該路由,說明該服務沒有啟動。

問題原因

該問題是因為自己打包時沒有指明啟動類,tomcat找不到專案的啟動類。俗話就是,即tomcat解壓放進去的war包後,找不到將war包執行起來的入口,相當於找不到專案的“主函式”,不知怎樣將它執行起來。故服務沒有執行。

解決方法

需要在專案中指明啟動類,即宣告專案的“主函式”,在專案的pom.xl中新增如下程式碼

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
              <!--此處為自己的啟動類-->
              <mainClass>com.test.app.App</mainClass>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
複製程式碼

<mainClass></mainClass>中寫入自己的服務啟動類,我的是com.test.app.App,如圖:

image

改完pom.xml後,使用mvn clean package 重新打包放到tomcat下的webapps目錄下。 出現如下訊息即為執行成功。
image

新手上車,請多指教,如有問題,請郵件聯絡:young5678@qq.com

參考

此知識點來自於螞蟻課堂視訊

相關文章