Spring boot 打包瘦身方法

Posted 代码过客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring boot 打包瘦身方法相关的知识,希望对你有一定的参考价值。

背景

  随着spring boot 的流行、越来越多的来发着选择使用spring boot 来发 web 应用、 不同于传统的 web 应用 需要 war 包来发布应用、 spring boot 应用可以把整个项目打包成一个可执行的 jar 、同时也导致 jar 越来越庞大。 对于现在高速迭代项目、上传如此庞大的 jar 对来发人员来说是一件极其痛苦的事情。 本章介绍如何将项目中变化的不大的 jar 提取到外部。

  具体步骤:

  1: 通常我们是用spring-boot-maven-plugin 进行打包、通过阅读文档发现可以通过配置使得该插件在打包时忽略特定的依赖,文档在spring-boot-maven-plugin  

  2: 首先备份原先的依赖: 可以用使用 mvn dependency:copy-dependencies 首先将依赖导出。

  3: 将一些变化不大的 jar copy 到外部文件 lib 文件夹中(和 pom 文件中配置对应  )

  4: 修改 pom 文件 如下:

  

          <build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
                                    <layout>ZIP</layout>
                                    <!--去除在生产环境中不变的依赖-->
                                    <excludeGroupIds>
                                         org.springframework.boot,
                                         org.springframework,
                                         org.springframework.data,
                                         org.apache.tomcat.embed
                                   </excludeGroupIds>
                                </configuration>		
			</plugin>
		</plugins>
	</build>                    

  注:layout 必须是 ZIP 、 excludeGroupIds 中时忽略也是就需要打在外部的 jar 、 根据自己项目的情况进行配置

    5: 项目启动 将 项目的 jar 和 刚创建的 lib 放在同级目录下(不是必须的)。

    6: 启动项目: java -Dloader.path="lib/" -jar xx.jar

好了到这基本就结束了、如有问题欢迎指出。 

 

以上是关于Spring boot 打包瘦身方法的主要内容,如果未能解决你的问题,请参考以下文章

Mybatisplus创建Spring Boot工程打包错误解决方法

spring_boot打jar包及打包错误的解决方法

Gradle 如何打包 Spring Boot 如何不添加版本代码

Spring boot:thymeleaf 没有正确渲染片段

spring boot 打包可以运行,但是执行main方法不能运行

spring boot 打包