spring boot 部署jar包瘦身 jar和lib分离

发布于:2024-04-30 ⋅ 阅读:(29) ⋅ 点赞:(0)

在默认情况下,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包