zoukankan      html  css  js  c++  java
  • SpringBoot打包war

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

    如何配置打war包呢?

    以下配置以Maven为说明讲解,Gradle的查看类似配置。

    1、修改Spring Boot启动类

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

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

        @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>

    如果不添加,默认为jar包。

    3、去除Spring Boot内置Tomcat

    修改自带tomcat依赖范围为provided,防止与外部tomcat发生冲突。

       <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>

    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</failOnMissingWebXml>
    
            </configuration>
    
        </plugin>

    failOnMissingWebXml需要开启为false,不然打包会报没有web.xml错误。

    如何打war包?

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

    • 在Maven中使用 mvn cleanpackage命令即可打包。

    • 在Idea中可以这样设置打包:

        

    即可

    自定义设置war名字:

    pop.xml

    <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
    
                    <groupId>org.apache.maven.plugins</groupId>
    
                    <artifactId>maven-war-plugin</artifactId>
    
    
                </plugin>
    
            </plugins>
            <finalName>cimc</finalName> 自定义war名字
        </build>
  • 相关阅读:
    js 函数定义的方式
    JS闭包的理解及常见应用场景
    requireJS的基本使用
    Zepto.js简介
    石川es6课程---1-2、ES6简介
    黑马lavarel教程---8、session
    Git使用操作指南和GitHub
    构建自己的Java并发模型框架
    对象的创建和存在时间(持续更新)
    iOS 通过HEX(十六进制)得到一个UIColor的对象
  • 原文地址:https://www.cnblogs.com/loaderman/p/10238031.html
Copyright © 2011-2022 走看看