zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    SpringBoot jar包不支持jsp
    Spring Boot 启动报错:LoggingFailureAnalysisReporter
    spring boot与spring mvc的区别是什么?
    解决配置JAVA_HOME JDK版本不变的问题
    Linux下修改Mysql的用户(root)的密码
    CentOS/Linux 解决 SSH 连接慢
    Linux查看进程的所有子进程和线程
    Linux命令之pstree
    使用awk批量杀进程的命令
    lucene 自定义评分
  • 原文地址:https://www.cnblogs.com/yueli/p/7810796.html
Copyright © 2011-2022 走看看