Springboot瘦身(lib和程序分开打包)

1. 首先用mvn clean package正常打出jar包

这个jar包可能有几百兆大小,lib占了绝大多数
将jar包解压,将 BOOT-INF 下的 lib 包拿出单独存放

2. 修改pom重新打包

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <layout>ZIP</layout>
                    <includes>
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

再次用 mvn clean package 打出来的包就不包含lib了

3. 运行jar包

#D:jarxc-springboot-0.0.2-SNAPSHOTlib为lib包路径,执行下面命令启动项目。

java -Dloader.path=D:jarxc-springboot-0.0.2-SNAPSHOTlib -jar xc-springboot-0.0.2-SNAPSHOT.jar

d:
cd D:jar
@echo off 
java -Dloader.path=D:jarxc-springboot-0.0.2-SNAPSHOTlib -jar xc-springboot-0.0.2-SNAPSHOT.jar
exit

4.目录结构