工作记录|给 Spring boot Jar 瘦瘦身

栏目: Java · 发布时间: 6年前

内容简介:在如今程序员的世界中,spring boot 越来越流行,不管是开发web应用还是构建spring cloud 微服务架构都离不开它,不同于传统的web应用 需要单独部署容器来发布war包, spring boot 应用可以把整个项目打包成我们熟悉的jar来运行,大大方便了我们的开发部署。上述提到Spring boot将整个应用打成一个Jar来执行,大大提高了我们的效率。

写在前面

在如今 程序员 的世界中,spring boot 越来越流行,不管是开发web应用还是构建spring cloud 微服务架构都离不开它,

不同于传统的web应用 需要单独部署容器来发布war包, spring boot 应用可以把整个项目打包成我们熟悉的jar来运行,大大方便了我们的开发部署。

问题凸显

上述提到Spring boot将整个应用打成一个Jar来执行,大大提高了我们的效率。

但是同时也给我们带来了烦恼,随着我们项目的不但迭代,也导致Jar不断的肥胖,对于高速迭代的项目上传一个如此肥胖的Jar简直痛不欲生。

那怎么办? 程序员是一个懒人职业,总会想到办法来一次搞定这些问题的。

下面就让我们来看看吧!

解决方案

解决上述问题,只需要如下几步就可以搞定了。

  1. 通常我们是用spring-boot-maven-plugin 进行打包、通过阅读文档发现可以通过配置使得该插件在打包时忽略特定的依赖,文档: spring-boot-maven-plugin
  2. 首先备份原先的依赖: 可以用使用 mvn dependency:copy-dependencies 首先将依赖导出。
  3. 将一些变化不大的 jar copy 到外部文件 lib 文件夹中(和 pom 文件中配置对应 )
  4. 修改 pom 文件
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                                <layout>ZIP</layout>
                                <!--去除在生产环境中不变的依赖-->
                                <excludeGroupIds>
                                     org.springframework.boot,
                                     org.springframework,
                                     org.springframework.data,
                                     org.apache.tomcat.embed
                               </excludeGroupIds>
                            </configuration>     
        </plugin>
    </plugins>
</build>

注:layout 必须是 ZIP 、 excludeGroupIds 中时忽略也是就需要打在外部的 jar 、根据自己项目的情况进行配置,exclude的更多用法 请参考文档 spring-boot-maven-plugin

  1. 项目启动 将 项目的 jar 和 刚创建的 lib 放在同级目录下(不是必须的)。
  2. 启动项目: java -Dloader.path="lib/" -jar xx.jar

ok! 就这么简单的帮spring boot jar 减肥成功了。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Lean Analytics

Lean Analytics

Alistair Croll、Benjamin Yoskovitz / O'Reilly Media / 2013-3-18 / USD 29.99

If you're involved with a startup, analytics help you find your way to the right product and market before the money runs out. But with a flood of information available, where do you start? This book ......一起来看看 《Lean Analytics》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具