springboot 瘦身部署

2020-07-04 浏览 (2765)

为什么部署要瘦身

springboot默认使用fatjar的方式打包,把整个依赖的jar包都打包进去。

不过依赖的jar比较大,变动很小,这样每次部署都整个发布,网速不好花的时间就会比较多。

可以把依赖的jar包独立出来。

获取依赖的jar包

mvn dependency:copy-dependencies -DoutputDirectory=/path/to/lib -DincludeScope=runtime

打包配置

修改pom.xml,添加如下配置

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
	<configuration>
		<mainClass>com.seaxiang.blog.BlogAdminApplication</mainClass>
		<!-- 瘦身的jar layout 必须是 ZIP, one jar 的可以是 JAR -->
		<layout>ZIP</layout>
		<!--构建完整可执行程序,可以直接运行-->
		<executable>true</executable>
		<!-- 编译出不带 lib 文件夹的Jar包 -->
		<includes>
			<include>
				<groupId>nothing</groupId>
				<artifactId>nothing</artifactId>
			</include>
		</includes>
	</configuration>
</plugin>

执行运行命令

java -jar -Dloader.path=/path/to/lib blog-web.jar >> web.log