zoukankan      html  css  js  c++  java
  • spring boot 发布 jar 包转为 war

    Spring Boot 支持发布jar包和war包,它推荐的是使用jar形式发布

      使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题

      jar包不一定合适适用所有的场景,如war包更合适,可以尝试转为传统的war包,这样打补丁包可能更方便

    1.修改Spring Boot启动类:启动类继承 SpringBootServletInitializer类,并覆盖 configure方法

    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {
       @Override
       protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
           return application.sources(Application.class);
       }
       public static void main(String[] args) throws Exception {
           SpringApplication.run(Application.class, args);
       }
    }

    2.修改jar为war包

    #在pom中添加war包配置
    <
    packaging>war</packaging>

    3.去除Spring Boot内置Tomcat

    <dependencies>
       <!--修改自带tomcat依赖范围为provided,防止与外部tomcat发生冲突-->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
           <scope>provided</scope>
       </dependency>
    </dependencies>

    4.添加war包打包插件

      如果用的是继承spring-boot-starter-parent的形式使用Spring Boot,那可以跳过,因为它已经配置好了

      如果使用的依赖spring-boot-dependencies形式,需要添加以下插件

    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-war-plugin</artifactId>
       <configuration>
        <!--failOnMissingWebXml需要开启为false,不然打包会报没有web.xml错误-->        <failOnMissingWebXml>false</failOnMissingWebXml>    </configuration> </plugin>

    5.打war包

      在Maven中使用 mvn cleanpackage命令打包

      在Idea中打包

      

     jar包转war包影响

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

       2.Spring Boot的升级是否需要Tomcat跟着升级

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

  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    微信小程序TodoList
    C语言88案例-找出数列中的最大值和最小值
    C语言88案例-使用指针的指针输出字符串
  • 原文地址:https://www.cnblogs.com/qinxu/p/14201887.html
Copyright © 2011-2022 走看看