SpringBoot应用打包瘦身配置总结

Posted 天之骄子zz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot应用打包瘦身配置总结相关的知识,希望对你有一定的参考价值。

前言:正常 SpringBoot 应用打包后,包一般会很大,原因一般因为依赖的jar很多。
假如你是在内网环境部署应用,则没有什么问题。而当你是外网阿里云环境部署,jar 包很大不仅费流量而且传输较慢。

假如你使用的是 maven 工程项目,那么你可以接着往下看了。我们知道,jar包解压开来,是存在一定的目录结构的,
其中有一个文件夹lib是专门用来存放你所依赖的 jar 包。假如你的项目各个依赖在一定情况下,版本固定,而你可以
将 lib 和你业务使用的 class 文件分开进行部署,那就很完美了。

接下来,我们看需要怎么做。
1.首先,你得有一个 springboot 项目的maven工程。你正常打包,打出一个 jar,你解压该 jar 获取 lib 文件夹
2.在 pom 文件中添加如下配置,打出一个不带 lib 目录的 jar

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.1.10.RELEASE</version>
        <!--瘦身jar包的配置-->
        <configuration>
            <mainClass>${start-class}</mainClass>
            <executable>true</executable>
            <layout>ZIP</layout>
            <includes>
                <include>
                    <groupId>nothing</groupId>
                    <artifactId>nothing</artifactId>
                </include>
            </includes>
        </configuration>
    </plugin>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
</plugins>

3.将lib文件夹以及不带 lib 文件夹的 jar 包上传至云服务器指定路径
4.在启动命令中增加如下参数,启动应用

-Dloader.path=/opt/你的lib文件夹所在目录

至此,你就完成了 jar 包的瘦身,以后你只需要更新业务相关的class文件

以上是关于SpringBoot应用打包瘦身配置总结的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot 打包瘦身方法

SpringBoot迭代发布下的Jar瘦身实践

Spring Boot部署JAR文件瘦身优化经验分享

打包优化去掉console.log,webpack.js配置排除打包瘦身

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

SpringCloud 多模块部署瘦身包整理流程