• Spring Boot 发布 jar 包转为 war 包秘籍。


    如何配置打war包呢?

    Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布。使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题。所以,jar包不一定合适适用所有的场景,如war包更合适,你可以尝试转为传统的war包,这样打补丁包可能更方便。

    1.修改Spring Boot启动类

    启动类继承 SpringBootServletInitializer类,并覆盖 configure方法。

    下面是Spring Boot提供的示例代码。

    @SpringBootApplication
    public class SpringbootApplication extends SpringBootServletInitializer {
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(SpringbootApplication.class);
        }
    
        public static void main(String[] args) {
    		SpringApplication.run(SpringbootApplication.class, args);
    	}
    }
    
    2.修改jar为war包形式

    在pom文件中,添加war包配置。

    <packaging>war</packaging>
    
    3.去除Spring Boot内置Tomcat

    修改自带tomcat依赖范围为provided,防止与外部tomcat发生冲突。
    在这里插入图片描述

    4. 添加war包打包插件

    如果你用的是继承spring-boot-starter-parent的形式使用Spring Boot,那可以跳过,因为它已经帮你配置好了。如果你使用的依赖spring-boot-dependencies形式,你需要添加以下插件。
    在这里插入图片描述
    failOnMissingWebXml需要开启为false,不然打包会报没有web.xml错误。

    5.如何打war包?

    打war包方式和打jar包方式一样,没有区别。

    • 在Maven中使用 mvn cleanpackage命令即可打包。
    6.jar包转war包有什么影响?

    1、application配置文件中的server.xx等关于容器的配置就无效了,改配置需要在外部tomcat中进行。

    2、Spring Boot的升级是否需要Tomcat跟着升级?需要观察。

    3、打war包比打jar明显要变慢好多。。

    暂时还没遇到其他问题,大家对此有什么看法都可以在下方留言。

    转自:Java技术栈 https://mp.weixin.qq.com/s/RQAPIwQJ2jMmlcM76LJhSQ

    有梦为马,游历天涯!
  • 相关阅读:
    Windows 8实例教程系列 开篇
    qt 开发发布于 windeploy.exe
    qt qoci 测试验证
    vmware vmx 版本不兼容
    qt oracle
    vc qt dll
    QOCIDriver unable to create environment
    qoci 编译完 放置位置 具体根据情况
    calling 'lastError' with incomplete return type 'QSqlError' qsqlquer
    Hbase 操作工具类
  • 原文地址:https://www.cnblogs.com/qijianguo/p/10686351.html
Copyright © 2020-2023  润新知