记录maven转gradle模块之间版本依赖问题

文章讲述了在使用Gradle构建项目时遇到的模块间依赖版本冲突问题。当多个模块共用同一第三方库但版本不同时,出现了版本降低的现象。作者通过下载依赖查看、排除方法以及强制指定版本号最终解决了问题,但对Gradle的文档和依赖管理表示不满。
摘要由CSDN通过智能技术生成

首先问题百度大部分可以解决,但是我的问题百度无法解决,所以我翻了一遍资料,也还是没解决(因为我看不懂英文,而且gradle的文档我个人觉得很糟糕,简直是令人发指)
gradle国内的资料没有maven多,因为用的人还少,我们最近框架升级 && 后台系统升级,都是用科特林和gradle,所以遇到了一堆问题,这里记录下模块版本依赖的问题

假如你一个工程student里面有三个模块(student-sdk),(student-module),(student-server)。student-server依赖student-module,那么你需要在student-server中的build.gradle里面这样写

dependencies {
    compile project(':student-module')
}

如果你还依赖了第三方SDK,那么你在dependencies 里面加就行了,但是这里有个我搞不明白的问题,如果你的(student-sdk),(student-module),(student-server)三个模块,有两个使用了第三方依赖,假如依赖如下,版本号如下

api "com.test:test-a:1.1.1.1"

结果会出现版本降低的情况,test-a这个SDK会比1.1.1.1的版本号低的情况(其实是因为你jar冲突了,又不知道被你自己的哪个依赖给顶了),一般情况下我使用指令下载依赖查看,然后exclude都可以解决问题

但是我找了半天,并且用 指令下载下来依赖关系,也没找到,我搜了全局的配置依赖关系都是1.1.1.1自动变为了1.1.1.0,这就离谱了,于是我强行把三个模块都指定了第三方依赖,就是三个模块我都加了下面这个依赖,最后没问题了,我并不知道为什么会这样,但是尽然可以了

api "com.test:test-a:1.1.1.1"

期间我尝试了一下操作发现一点用也没, 问题是解决了,但是我并不知道为什么,所以我再次吐槽一下gradle真不好用

// 我使用的无用操作,也许对你们有用
// 依赖排除
transitive = true
// 强行指定依赖版本
force=true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值