SpingBoot项目打war包部署到其他tomcat中

来源:互联网 发布:成立子公司的好处知乎 编辑:程序博客网 时间:2024/06/05 18:11

springboot将项目打成war包部署到其他的tomcat中

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

一 修改pom文件去掉自带tomcat,

<dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>        <!-- 不使用自带tomcat   -->         <exclusions>                   <exclusion>                       <groupId>org.springframework.boot</groupId>                       <artifactId>spring-boot-starter-tomcat</artifactId>                   </exclusion>               </exclusions>       </dependency>

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

@SpringBootApplicationpublic 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);    }}

或者使用新建一个类继承SpringBootServletInitializer 

public class ServletInitializer extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(Application.class);}}

以上写法二选一即可


三 修改pom文件 
<packaging>war</packaging>

maven打包自定义名字

<plugin>                      <groupId>org.apache.maven.plugins</groupId>                      <artifactId>maven-war-plugin</artifactId>                      <configuration>                          <warName>springboot</warName>                      </configuration>                  </plugin>  


四 放入外部tomcat的 webapp目录中,启动bin目录中的startup命令