一、jar包分离介绍
springboot构建jar部署,通过使用 java -jar xxx.jar 命令启动服务,非常方便。 但是通过maven构建的jar包含 BOOT-INFlib下的所有依赖jar包,导致jar包文件太大。 本文将lib文件夹下所依赖的jar包分离出来,解决文件过大问题。
二、jar包分离实施步骤
(1)按照正常的springboot项目打包方式,对项目进行打包package,其打包后目录如下:
代码语言:javascript复制|--META-INF
|--BOOT-INF
|--classes
|--lib
|--org
打完包后,进行解压。找到BOOT-INFlib文件夹,将lib文件夹复制出来,后续使用。
其中BOOT-INFlib目录下存放着所有的依赖jar包,ojdbc8-19.8.0.0.jar / lombok-1.18.16.jar / spring-boot-2.4.1.jar … 占用了大量的空间。jar包分离就是将其独立开来。
(2)通过修改pom.xml中的一部分配置,再次打包,此时打包的内容已经排除了其依赖的各种jar包。
代码语言:javascript复制<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--start-->
<configuration>
<!--这里对应项目的主入口-->
<mainClass>com.ityj.multidb.SpringbootMultiDatasourcesApplication</mainClass>
<layout>ZIP</layout>
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
<!--end-->
</plugin>
直接重新打包,即可 最终的jar包已经排除掉了lib文件
(3)将第一次打包提取出来的lib文件夹和第二次打的jar包放在同一个目录下,执行以下命令,启动项目:
nohup java -jar -Dloader.path=./lib admin.jar &