继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第6天 新一代构建工具gradle 06

慕盖茨5213212
关注TA
已关注
手记 35
粉丝 0
获赞 2

### 课程信息:

 - 课程名称:新一代构建工具gradle

- 章节名称:第四章高级应用 4-5 解决版本冲突

- 讲师姓名:skyding

### 课程内容:

 1. 解决冲突办法

  • 查看依赖报告

  • 排除传递性依赖

  • 强制一个版本

2. gradle会帮助我们依赖最高版本的jar包,这是其默认解决策略

  • 修改默认解决策略

// 设置当出现冲突时构建失败
configurations.all{
    resolutionStrategy {
        failOnVersionConflict()
    }
}

上述代码是当出现冲突时,默认构建失败,这样构建失败的jar包就是冲突的jar包

  • 排除传递性依赖

dependencies {
    implementation ('org.hibernate:hibernate-core:3.6.3.Final')
    implementation 'ch.qos.logback:logback-classic:1.2.1'
}

http://img1.sycdn.imooc.com/635e4bb700011df109940252.jpg

出现冲突,使用exculde排除

dependencies {
    implementation ('org.hibernate:hibernate-core:3.6.3.Final'){
        exclude group:"org.slf4j", module:"slf4j-api"
    }
    implementation 'ch.qos.logback:logback-classic:1.2.1'
}
  • 强制指定一个版本

configurations.all{
    resolutionStrategy {
        failOnVersionConflict()
        force('org.slf4j:slf4j-api:1.7.22') //强制指定一个版本
    }
}

强制指定即可以指定当前已存在的最高的版本,也可指定当前jar包已发布的最新的版本。

### 学习心得:

通过本节课的学习我学会了gradle解决依赖冲突的方法,依赖冲突是项目开发中经常出现的一个问题,因此解决依赖冲突的方法也尤为重要,本次学习我学会了两种解决依赖冲突的方法,分别是排除传递性依赖和强制指定一个版本这两种方式,个人觉得两种方式都非常有用,老师讲的非常好,收获非常大。

### 课程截图:

http://img2.sycdn.imooc.com/635e454d0001e50411500647.jpg

http://img1.sycdn.imooc.com/635e5c080001f75611980663.jpg    

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP