Spring boot demo: spring boot生成war包

Posted jane850113

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring boot demo: spring boot生成war包相关的知识,希望对你有一定的参考价值。

spring boot会默认生成Jar包,如果想要生成war包需要修改pom和启动类。

并且,测试的时候发现,部署在apache tomcat 7下会报包含的jar包错误,而在apache tomcat 8下能正常启动访问

如果再tomcat 7下需要解决war包内的jar包冲突(参考:https://blog.csdn.net/qq_14853889/article/details/80026885)

 

以下步骤参考: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file

 

  • 启动类修改:继承SpringBootServletInitializer,并override覆盖configure()方法。
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

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

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

}
  • pom.xml: 添加或修改<packaging>为war
<packaging>war</packaging>

为了避免内置servlet容器与要部署war包的servlet容器冲突,将内置的tomcat应用范围设为provided。(参考:https://uule.iteye.com/blog/2087485)

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
  • 最后,像打成jar包一样打成war包,部署到tomcat的webapps中。

 

注:这个war包依然可以用命令行java -jar xxx.war执行。

 

以上是关于Spring boot demo: spring boot生成war包的主要内容,如果未能解决你的问题,请参考以下文章

docker快速安装kafka,zookeeper ,体验spring-boot-demo-mq-kafka

spring boot web项目demo

Spring Boot超简单的测试类demo

Spring Boot模板引擎Thymeleaf demo

Spring Boot模板引擎Thymeleaf demo

Spring Boot模板引擎Thymeleaf demo