Maven打包SpringBoot项目时排除依赖jar方法,以减小jar包大小

问题

Spring Boot 项目jar包太大,上传服务器耗时太长

方案

将jar包中BOOT-INF 下的 lib 目录移出,打包时排除依赖jar,在启动时指定加载外部依赖jar目录

解决

  1. 正常maven打包
    mvn clean package

     

  2. 使用解压工具打开jar包,并将BOOT-INF 下的 lib 目录拷贝至单独目录;

  3. 在项目pom.xml中添加/修改配置
    <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <!-- 此处为项目的主类路径 -->
                        <mainClass>com.test.TestApplication</mainClass>
                        <layout>ZIP</layout>
                        <includes>
                            <include>
                                <!-- 排除所有Jar -->
                                <groupId>nothing</groupId>
                                <artifactId>nothing</artifactId>
                            </include>
                        </includes>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
  4. 再次maven打包,可以发现jar包小了很多
    mvn clean package

     

  5. 把打好的jar包与拷贝出的lib文件夹放在同一目录中,执行启动命令
    java -Dloader.path="lib/" -jar xxx.jar

     


版权声明:本文为qq_40784783原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。