SpringBoot增量/瘦身部署jar包的方式

 更新时间:2024年01月02日 09:57:00   作者:在奋斗的大道  
SpringBoot 项目的部署一般采用全量jar 包方式部署相关项目,如果我们对相关的Contrller层进行相关业务调整就需要重新编译全量jar 包太麻烦了,所以本文给大家介绍了使用SpringBoot 的增量/瘦身部署方式,需要的朋友可以参考下

背景

SpringBoot 项目的部署一般采用全量jar 包方式部署相关项目,如果我们对相关的Contrller\Service\Dao\Mapper 层进行相关业务调整就需要重新编译全量jar 包(包大小约为200M左右)实在太麻烦了。

本文:重点讲解使用SpringBoot 的增量/瘦身部署方式,把引用的jar 和静态资源分离。

分离Jar包

SpringBoot 全量jar 大小截图

点击SpringBoot 项目的Maven ->package 打包指令。

SpringBoot 增量/瘦身jar 大小截图

点击SpringBoot 项目的Maven ->package 打包指令。

如何使用maven-dependency-plugin分离jar包 

第一步:在SpringBoot 项目中pom.xml文件的plugins 标签下添加plugin 依赖。

         <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!--指定的依赖路径-->
                            <outputDirectory>
                                ${project.build.directory}/lib
                            </outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

第二步:修改SpringBoot 项目默认:spring-boot-maven-plugin插件,添加如下配置。

         <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                    <!--必须为ZIP模式,不指定的话-Dloader.path不生效-->
                    <layout>ZIP</layout>
                    <!-- 打包的时候排除的jar包-->
                    <includes>
                        <include>
                            <groupId>non-exists</groupId>
                            <artifactId>non-exists</artifactId>
                        </include>
                    </includes>
                </configuration>
            </plugin>

分离配置文件

在lib同目录下创建resource文件夹,进入代码resource文件夹内复制application.yml文件到resource文件下。

SpringBoot 项目启动 

在Spring Boot 可执行jar 包所在的文件目录打开窗口,执行如下指令:

E:\github_workspace\SpringBootCase\SpringBoot-MyBatisPlus\target>java -Dloader.path=./lib -jar .\SpringBoot-MyBatisPlus-1.0-SNAPSHOT.jar

CMD 窗口输出:

如果涉及Spring Boot 项目涉及application.yml 文件但又不涉及后端逻辑代码的修改,可以通知指定配置文件方式,启动Spring Boot项目,执行如下指令:

java -Dloader.path=./lib -Dspring.config.location=./resource/application.yml -jar .\SpringBoot-MyBatisPlus-1.0-SNAPSHOT.jar

CMD 窗口输出:

以上就是SpringBoot增量/瘦身部署jar包的方式的详细内容,更多关于SpringBoot 增量/瘦身部署jar 包的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:

相关文章

  • SpringCloud中的openFeign调用服务并传参的过程

    SpringCloud中的openFeign调用服务并传参的过程

    服务和服务之间通信,不仅仅是调用,往往在调用过程中还伴随着参数传递,接下来重点来看看OpenFeign在调用服务时如何传递参数,感兴趣的朋友一起看看吧
    2023-11-11
  • java使用EditText控件时不自动弹出输入法的方法

    java使用EditText控件时不自动弹出输入法的方法

    这篇文章主要介绍了java使用EditText控件时不自动弹出输入法的方法,需要的朋友可以参考下
    2015-03-03
  • 解读CompletableFuture异步多线程的使用方式

    解读CompletableFuture异步多线程的使用方式

    这篇文章主要介绍了CompletableFuture异步多线程的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • java原码补码反码关系解析

    java原码补码反码关系解析

    这篇文章主要为大家详细介绍了java原码补码反码的关系,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • mybatis-plus分页如何接收前端参数limit和page

    mybatis-plus分页如何接收前端参数limit和page

    这篇文章主要介绍了mybatis-plus分页如何接收前端参数limit和page,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 深入分析java并发编程中volatile的实现原理

    深入分析java并发编程中volatile的实现原理

    这篇文章主要介绍了深入分析java并发编程中Volatile的实现原理,涉及Volatile的官方定义,实现原理,使用优化等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java查询MongoDB数据库案例大全

    Java查询MongoDB数据库案例大全

    这篇文章主要给大家介绍了关于Java查询MongoDB数据库的一些相关案例,Java可以使用MongoDB的官方Java驱动程序来连接和操作MongoDB数据库,需要的朋友可以参考下
    2023-07-07
  • Java8 Lambda表达式模板方法实现解析

    Java8 Lambda表达式模板方法实现解析

    这篇文章主要介绍了Java8 Lambda表达式模板方法实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot控制配置类加载顺序方式

    SpringBoot控制配置类加载顺序方式

    这篇文章主要介绍了SpringBoot控制配置类加载顺序方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • UrlRewrite 重写url详解及实例

    UrlRewrite 重写url详解及实例

    这篇文章主要介绍了UrlRewrite 重写url详解及实例的相关资料,重写能美化,提高安全,有利于搜索引擎的收入等,需要的朋友可以参考下
    2016-12-12

最新评论