Gradle构建springboot项目,依赖模块未生效解决方案

在将SpringBoot项目的jar包命名格式从XXXX.0.0.1-SNAPSHOT.jar改为XXXX.1.0.0.${environment}.jar后,通过Jenkins构建时遇到依赖模块A找不到的错误。问题在于Gradle认为非SNAPSHOT版本的jar包是稳定的,未拉取最新版本。解决方案包括在build.gradle中添加changing=true属性,调整Gradle缓存时间或清空缓存。
摘要由CSDN通过智能技术生成

gradle构建项目依赖模块未生效

问题描述

因公司项目调整,需要为jar包添加版本号。之前jar包命名格式一直是XXXX.0.0.1-SNAPSHOT.jar。修改后的格式是XXXX.1.0.0.${environment}.jar(environment:DEV、TEST、RELEASE)。修改之后通过jenkis构建gralde项目时却报错,提示找不到依赖的某模块A中的代码。

问题排查

出现这种问题,第一想法是依赖的模块没有上传到私有代码仓库,导致部署时拉取的依赖jar包还是历史jar包。但是通过观察代码仓库jar包的生成时间确实是最新的,而且反编译jar包之后,代码也是最新的。既然代码是最新的,那么就说明gradle构建项目时,没有从仓库拉取最新的jar包。但是为什修改jar包命名格式之前并没有这种问题呢?
带着这种疑问通过网上搜索,最终发现加和不加SNAPSHOT的区别如下:

  1. 加了SNAPSHOT后缀,gradle 会认为该 jar包只是快照版本,是不稳定的、会经常性更新的。这种状态下,我们修改jar包的内容后不需要修改版本号,相同版本的jar包也是可以被覆盖为最新的。
  2. 不加SNAPSHOT后缀时,表示该jar包是稳定版本,只有更新版本号才会覆盖历史jar包。

看到这里我们也就清晰了,由于我们的jar包没有加SNAPSHOT后缀,gradle会认为是稳定版,而且我们又没有变更版本号,因此导致不会拉取最新jar包,那要怎么解决呢?有两种办法如下:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值