在默认情况下,spring boot打包后的jar包,包含所依赖的jar包,导致打出来的包比较大。在更新等操作情况下,传输更新包比较费时,为节省传输时间,本文由jar和lib分离的方式实现jar瘦身。
pom.xml配置:
<build>
<finalName>项目名称</finalName>
<resources>
略...
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<layout>ZIP</layout>
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--指定的依赖路径-->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
根据此配置,正常打开即可。打包后在项目路径下的target文件夹下将生成lib文件夹和项目jar包。
这样操作后,jar包往往只有几百KB,比原来小很多。
启动命令变更为:
java -Dloader.path=lib包文件夹路径 -jar 项目jar包