springboot部署jar包与依赖包分离至lib文件夹

转发:https://blog.csdn.net/x_san3/article/details/86514063

说明

springboot构建jar部署,通过使用 java -jar xxx.jar 命令启动服务,非常方便,但是通过maven构建的jar包含 \BOOT-INF\lib\下的所有依赖jar包,导致jar包文件太大,本文将接解决这一问题。

解决思路

在maven构建springboot项目jar时候,将lib文件夹分离出来。
在运行jar的时候,能够应用到分离的lib包。

解决步骤

正常构建 分离lib

 
  1. 执行mvn install 命令,构建jar包,构建后的jar包结构如图:

  2. |--META-INF

  3. |--BOOT-INF

  4.     |--classes

  5.     |--lib

  6. |--org

  7.  
  8. 处理:

  9. 将构建好的jar包解压,拷贝出lib目录

修改pom文件 构建不包含lib的jar包

 
  1. <plugin>

  2.     <groupId>org.springframework.boot</groupId> 

  3.     <artifactId>spring-boot-maven-plugin</artifactId>

  4.     <configuration>

  5.         <mainClass>com.johnnian.App</mainClass>

  6.         <layout>ZIP</layout>

  7.         <includes> 

  8.             <include>

  9.                 <groupId>nothing</groupId>

  10.                 <artifactId>nothing</artifactId>

  11.             </include>  

  12.          </includes>

  13.     </configuration>

  14.         <executions>

  15.             <execution>

  16.                 <goals>

  17.                     <goal>repackage</goal>

  18.                 </goals>

  19.             </execution>

  20.         </executions>

  21. </plugin>

  22.  
  23. 处理:

  24. 执行mvn install 构建jar包 查看jar包结构

  25. |--META-INF

  26. |--BOOT-INF

  27.     |--classes

  28. |--org

运行编译jar包

 
  1. 1.将分离的lib文件和jar包放在同一个文件夹中,目录结构如下:

  2.     |--lib

  3.     |--xxx.jar

  4. 2.执行运行命令(备注 /lib 为分离lib文件路径 即项目依赖jar包)

  5.     java -Dloader.path=lib/ -jar xxx.jar

注意

1.一定要按照步骤进行,两次构建,不要一次构建,然后将lib目录直接拷贝出来执行。

猜你喜欢

转载自blog.csdn.net/QQ1012470073/article/details/88065270