Maven+SpringBoot打jar包精简

1.场景介绍

相信各位程序员小哥哥小姐姐们一定和我遇到过一样的问题,就是临近项目发版到线上测试的时候,经常需要修改小BUG,修改一个小BUG就需要将项目重新打包到线上,一天可能有十几二十次都不奇怪,这样就有个问题,每次都需要打包,上传,重新启动项目,这篇文章主要是记录下把一个springboot项目打出来的包精简一下,主要精简部分就是我们项目中引用的包(springboot包,JSON包,日志包…),这些包一般在项目初期就定下来了,后期很少改动,就算有改动单独处理一下就行了,不需要每次都打到我们运行的jar包中,既浪费打包时间,又浪费上传时间,让我们每次打包都只打我们自己写的代码就行了,废话不多说,下面看看详细的步骤

2.新建一个springboot项目

这个步骤不记录

3.默认pom.xml文件

<build>
        <finalName>simple</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.3.RELEASE</version>
                <configuration>
                    <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                    <mainClass>cn.layku.simple.SimpleApplication</mainClass>
                    <layout>ZIP</layout>           
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

4.生成默认jar包

clear package

在这里插入图片描述

5. 找到生成的jar包解压出lib部分并保存

在这里插入图片描述
在这里插入图片描述

6.修改pom.xml文件(核心部分)

<build>
        <finalName>simple</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.3.RELEASE</version>
                <configuration>
                    <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                    <mainClass>cn.layku.simple.SimpleApplication</mainClass>
                    <layout>ZIP</layout>
                    <!--打包排除所有jar包-->
                    <includes>
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                    </includes>
                    <!--打包排除所有jar包-->
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

7.重新打包生成去lib版的jar包

在这里插入图片描述
在这里插入图片描述

8.运行代码

java -Dloader.path=lib -jar simple.jar

lib代表jar包所在路径,simple.jar代表生成的jar包所在路径

9.实例代码github地址

https://github.com/layku/simple.git
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值