Spring Boot項目部署到Tomcat服務器的詳細步驟

部署spring boot項目到外部tomcat服務器需調整打包方式和配置。1. 修改pom.xml中的打包方式為war,并將內嵌tomcat依賴設為provided;2. 創建繼承springbootservletinitializer的類以確保應用正確啟動;3. 生成war包后部署到tomcat的webapps目錄;4. 注意tomcat版本兼容性、jsp依賴及日志檢查,應用路徑通常與war包名一致。按照步驟操作可順利完成部署。

Spring Boot項目部署到Tomcat服務器的詳細步驟

部署spring boot項目到Tomcat服務器其實并不難,但有些細節容易被忽略。Spring Boot默認使用內嵌的Tomcat,所以如果你要部署到外部的Tomcat服務器,需要做一些調整。下面是一些關鍵步驟和注意事項。

Spring Boot項目部署到Tomcat服務器的詳細步驟


修改打包方式為war

Spring Boot默認是打成可執行jar包運行的,而部署到外部Tomcat需要用war包格式。你需要在pom.xml中做兩件事:

Spring Boot項目部署到Tomcat服務器的詳細步驟

  • 標簽改成war:

    <packaging>war</packaging>
  • 確保Spring Boot的內嵌Tomcat依賴設置為provided,這樣它不會被打進最終的war包里:

    Spring Boot項目部署到Tomcat服務器的詳細步驟

    <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-tomcat</artifactId>     <scope>provided</scope> </dependency>

這一步做完之后,再執行mvn clean package,就會生成一個標準的war文件了。


編寫ServletInitializer類

為了讓你的Spring Boot應用能在外部Tomcat中啟動,需要添加一個繼承自SpringBootServletInitializer的類。這個類會告訴Tomcat如何加載Spring Boot應用。

示例代碼如下:

import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;  public class ApplicationInitializer extends SpringBootServletInitializer {     @Override     protected void configure(SpringApplicationBuilder builder) {         builder.sources(Application.class); // 這里的Application是你主類     } }

這個類不需要加任何注解,只要存在就行。有了它,Tomcat在啟動時就能正確初始化Spring上下文。


部署到Tomcat并檢查配置

生成war包之后,就可以把它放到Tomcat的webapps目錄下,然后啟動Tomcat。Tomcat會自動解壓war文件,并部署你的應用。

幾點需要注意的地方:

  • Tomcat版本最好和Spring Boot兼容,一般推薦用Tomcat 9或以上。
  • 如果你用了JSP頁面,可能需要額外添加一些依賴,比如tomcat-embed-jasper。
  • 檢查日志文件(如catalina.out),看有沒有啟動錯誤。
  • 應用訪問路徑通常是war包的名字,比如你生成的是myapp.war,那訪問地址就是 http://localhost:8080/myapp。

基本上就這些。整個過程不算復雜,但有幾個關鍵點不能漏掉,尤其是打包方式和ServletInitializer的編寫。只要按照上面的步驟一步步來,大多數情況下都能順利部署成功。

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享