springboot的瘦身部署计划lib依赖包分离

星期二, 2020-06-30 | Author: Lee | JAVA-and-J2EE, linux | 149 views

1.springboot目前都趋向于使用jar部署,但是问题是每次打包的

fatjar都比较大,有50M左右,发布上传比较耗时,尤其是服务器在海外的情况更是感觉浪费时间

2.把依赖的lib包剥离出来,单独依赖减少每次的打包大小量

注意:若有新增加的依赖或者调整依赖库的版本需要重新调整lib,切记.

3.开始方法:正常打包 获取BOOT-INF下的lib依赖jar包

mvn clean install

POM文件如下:

	<build>
		<plugins>
			<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>
		</plugins>
	</build>

编译后的Jar包解压,拷贝BOOT-INF目录下的lib文件夹到目标路径

4.移除依赖包的POM 再打包

mvn clean install

POM文件如下:

	<build>
		<plugins>
			<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>
		</plugins>
	</build>

注意:

<layout>ZIP</layout>

layout要选用ZIP否则会ClassNotFoundException

5.启动命令如下
-Dloader.path为依赖加载

-Dspring.config.location 为外置配置文件

  java -Dloader.path=/ia/depend/pomelolee/lib/ -jar -Dspring.config.location=/ia/config/pomelolee/IA.properties /usr/local/webserver/serverless/ia-pomelolee.jar &

Tags:

文章作者: Lee

本文地址: https://www.pomelolee.com/2084.html

除非注明,Pomelo Lee文章均为原创,转载请以链接形式标明本文地址

No comments yet.

Leave a comment

Search

文章分类

Meta