转载

Spring Boot 将项目打成war包部署到自己的tomcat中

虽然Spring Boot自己有tomcat,也提供了很多配置选项可以去配置tomcat,比如端口号、访问地址等,但是很多时候可能一个tomcat下部署多个项目,需要将项目打成war包部署至自己的服务中,如下是具体步骤: 
一、修改pom文件去掉自带tomcat

 <!-- 不采用spring-boot自带的tomcat进行启动 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>log4j-over-slf4j</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

但是因为本地启动还是需要使用到tomcat,因此还需要加入romcat的引用

 <!-- 本地启动需要-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

二、修改man方法,提供一个 SpringBootServletInitializer 子类,并覆盖它的 configure 方法。我们可以把应用的主类改为继承 SpringBootServletInitializer。或者另外写一个类。


@SpringBootApplication
public class Application  extends SpringBootServletInitializer{

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

三、将项目打包格式改成war,如下修改pom文件

<packaging>war</packaging>
  • 1

四、部署项目至tomcat 
利用maven的mvn package 进行打包,打包成功后会在target目录下生成war包,将war包部署到tomcat项目文件下(默认是webapp文件夹下),重启tomcat,打开浏览器访问对应地址,访问地址需要加上项目名字,如果需要手动设置war包的名字,可以通过以下修改pom文件方式修改项目名:

<!-- 支持maven打包自定义名字 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>bootTest</warName>
                </configuration>
            </plugin>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

访问

原文地址 : https://blog.csdn.net/qq_21397183/article/details/54945994
正文到此结束
Loading...