maven打包优化:lib依赖与项目jar分离

目录

前言

修改maven打包插件

打包

部署


前言

在使用maven进行打包时,默认是将依赖的一起打进项目的jar包中,会导致jar包非常大,然而我们往往大部分情况下只是会修改我们项目本身的代码逻辑,没有对项目依赖有任何改动,这时候我们进行打包上传到我们的服务器上进行部署时候,上传时间会很长(这简直是在耽误我们下班的时间,不能忍啊),所以我们将项目的jar包和依赖分开,这样我们只要没有进行依赖的改动的话,只需要上传项目的jar包就可以了,速度非常快。

修改maven打包插件

<build>
   <plugins>
       <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!--拷贝第三方依赖文件到指定目录-->
        <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>
                     <!--target/lib是依赖jar包的输出目录,根据自己喜好配置-->
                     <outputDirectory>target/lib/${project.parent.artifactId}</outputDirectory>
                     <excludeTransitive>false</excludeTransitive>
                     <stripVersion>false</stripVersion>
                     <includeScope>runtime</includeScope>
                     <!-- 不拷贝的依赖 -->
                     <excludeArtifactIds>common,${project.parent.artifactId}-core</excludeArtifactIds>
                 </configuration>
             </execution>
           </executions>
         </plugin>
         <!-- 压缩jar包,打出来的jar中没有了lib文件夹 -->
         <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>
         </plugin>
     </plugins>
</build>

打包

打包后,除了会生成原来的jar包以外,还会生成一个lib目录,这个目录中的文件就是该项目jar所需要的依赖了。现在jar包和原来的jar包对比,是不是一下子苗条了很多

部署

首次和修改依赖的时候需要将lib目录进行上传,其他时候只需要上传jar包就可以了。但是部署的命令是需要添加lib目录的地址(-Dloader.path="lib目录地址")。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值