SpringBoot之打包成war包部署到tomcat

来源:互联网 发布:陈震老婆淘宝店叫什么 编辑:程序博客网 时间:2024/05/21 00:45

本文转载自:http://blog.csdn.net/qq_23739971/article/details/73752067

SpringBoot之打包成war包部署到tomcat

小编花费了九牛二虎之力,总算把SpringBoot项目成功打包成war包,其中不免遇到了一些小状况,特写此文,以便其他小伙伴们不要走我的老路,避免重复这些小错误:

  • 配置文件(本地部署)
  • 启动类(war包部署)
  • 图片链接和图片上传
  • war包部署pom.xml添加
  • maven命令生成war包(跳过测试)
  • war部署到tomcat

  • 配置文件(本地部署) 
    这里呢,是我们伟大的springboot的配置文件需要做的一些配置,即使似乎跟打包没有半毛钱关系,但是小编还是在这里强调一下,大多数情况下,maven是默认进行项目测试的,请确保在打包成war前,数据库配置正确,以免入坑。
user = namespring.datasource.url = jdbc:mysql://127.0.0.1:3306/mjspring.datasource.username = rootspring.datasource.password = 123456spring.datasource.driverClassName = com.mysql.jdbc.Driverspring.jpa.hibernate.ddl-auto = updatespring.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@ServletComponentScanpublic class JobManagementApplication extends SpringBootServletInitializer{     @Overrideprotected 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

其次还有添加以下依赖

<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:云服务器上部署时确保连接数据库配置正确,否则项目跑不起来。