1. 程式人生 > >SpringBoot之打包成war包部署到tomcat

SpringBoot之打包成war包部署到tomcat

SpringBoot打包成war包部署到tomcat

小編花費了九牛二虎之力,總算把SpringBoot專案成功打包成war包,其中不免遇到了一些小狀況,特寫此文,以便其他小夥伴們不要走我的老路,避免重複這些小錯誤:

  • 配置檔案(本地部署)
  • 啟動類(war包部署)
  • war包部署pom.xml新增
  • maven命令生成war包(跳過測試)
  • war部署到tomcat
  • 配置檔案(本地部署)
    這裡呢,是我們偉大的springboot的配置檔案需要做的一些配置,即使似乎跟打包沒有半毛錢關係,但是小編還是在這裡強調一下,大多數情況下,maven是預設進行專案測試的,請確保在打包成war前,資料庫配置正確,以免入坑。
user = name
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/mj

spring.datasource.username = root

spring.datasource.password = 123456

spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto = update
spring.jpa.show-sql = true
  • 啟動類(war包部署)
    接下來呢,要想springboot專案知道我們的意圖,so,我們要引導我們的專案,告訴他我們要打包成war包,在此我們需要繼承SpringBootServletInitializer類重寫他的configure方法。告訴他我們要怎樣啟動它,生成war包需要的相關檔案
package com.job;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
@ServletComponentScan public class JobManagementApplication extends SpringBootServletInitializer{ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(JobManagementApplication.class); } public static void main(String[] args) { SpringApplication.run(JobManagementApplication.class, args); } }
  • war包部署pom.xml新增
    接下來,我們要為maven的pom.xml新增相關的依賴配置:
    首先要把<packaging>jar</packaging>改為以下
<packaging>war</packaging>

其次還有新增以下依賴

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
  • maven命令生成war包(跳過測試)
mvn clean package  -Dmaven.test.skip=true
  • war部署到tomcat
    重新命名生成的war包為ROOT.war,部署到tomcat的webapps檔案目錄下(確保webapps目錄下沒有其他ROOT資料夾)
    tips:雲伺服器上部署時確保連線資料庫配置正確,否則專案跑不起來。
如有疑問,可以留言,謝謝