同时实现Springboot的Jar/War部署

本文翻译:吴嘉俊,叩丁狼高级讲师 

Springboot带来的最大的好处在于不需要依赖外部容器。需要做的就是开发完成之后,直接将应用打包成一个可执行的jar文件。只需要简单的几个步骤,不需要额外安装和配置另外的软件,一个新的应用就可以快速部署起来。

但是,有时候你仍然希望你的应用能使用常规的WAR文件的方式部署。比如,你必须提交war文件来完成公司的持续集成,或者必须在公司定制的某个特殊的容器下运行。使用WAR文件部署的原因可能有多种,但常规情况下,还是建议使用一个包含内置服务器的可执行的JAR文件。

可执行的WAR文件

在你考虑双重编译来实现可执行的jar和可部署的war之前,其实你可能还有另一种选择。这种情况下,Springboot允许你鱼和熊掌兼得。你只需要按照非常简单的三个步骤即可。

  1. 在你的pom.xml文件中,将packing修改为war.
<packaging>war</packaging>
  1. 仍然在pom.xml文件中,将spring-boot-starter-tomcat依赖设置为provided。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
  1. 最后一步是继承SpringBootServletInitializer,并且实现其中的方法,在其中指向你应用的主运行类即可,当然,你也可以使用一个独立的类也行。下面是一个例子:
@SpringBootApplication
public class ApplicationRunner extends SpringBootServletInitializer {

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

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(ApplicationRunner.class);
    }

}

现在,如果你使用Maven来构建你的项目,你就会得到一个可以部署的WAR文件,可以部署在任何标准的s

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值