今天剛剛完成了SpringBoot的一個微服務,於是將其打包成war包,然後放在了tomcat中的webapps目錄下,可是訪問時出現了404錯誤,如下:
tomacat啟動時日誌顯示
第一個顯示了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,如圖:
改完pom.xml後,使用
mvn clean package
重新打包放到tomcat下的webapps目錄下。
出現如下訊息即為執行成功。新手上車,請多指教,如有問題,請郵件聯絡:young5678@qq.com
參考
此知識點來自於螞蟻課堂視訊