springboot的瘦身部署计划lib依赖包分离
星期二, 2020-06-30 | Author: Lee | JAVA-and-J2EE, linux | 2,866 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 & |
6.备注或者依赖包处理
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <type>jar</type> <includeTypes>jar</includeTypes> <outputDirectory> ${project.build.directory}/dependencies/lib </outputDirectory> </configuration> </execution> </executions> </plugin> |
7.如果lib有变化直接复制lib即可
文章作者: Lee
本文地址: https://www.pomelolee.com/2084.html
除非注明,Pomelo Lee文章均为原创,转载请以链接形式标明本文地址
No comments yet.
Leave a comment
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)