SpringBoot之打包成war包部署到tomcat

SpringBoot打包成war包部署到tomcat

小編花費了九牛二虎之力,總算把SpringBoot項目成功打包成war包,其中難免遇到了一些小情況,特寫此文,以便其餘小夥伴們不要走個人老路,避免重複這些小錯誤:mysql

  • 配置文件(本地部署)
  • 啓動類(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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 啓動類(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);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • war包部署pom.xml添加 
    接下來,咱們要爲maven的pom.xml添加相關的依賴配置: 
    首先要把<packaging>jar</packaging>改成如下
<packaging>war</packaging>
  • 1

其次還有添加如下依賴web

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • maven命令生成war包(跳過測試)
mvn clean package  -Dmaven.test.skip=true
  • 1
  • war部署到tomcat  重命名生成的war包爲ROOT.war,部署到tomcat的webapps文件目錄下(確保webapps目錄下沒有其餘ROOT文件夾)  tips:雲服務器上部署時確保鏈接數據庫配置正確,不然項目跑不起來。
相關文章
相關標籤/搜索