Gradle的依赖

每一个项目都有一个ConfigurationContainer类的容器来管理相应的配置,并且每一个Gradle都是有依赖处理器的,由DependencyHandler接口来实现

如下图:
在这里插入图片描述

1.外部模块依赖

两种方式声明依赖:
字符串的形式如: compileOnly ‘org.projectlombok:lombok:1.18.2’
key-value形式 :testCompile group: ‘junit’, name: ‘junit’, version: ‘4.12’

其他的使用:如下

dependencies {
    providedCompile 'javax.servelt:servlet-api:2.5'
    runtime ‘javax.servlet:jstl:1.1.2'
    compileOnly 'org.projectlombok:lombok:1.18.2'
    testCompile group: 'junit', name: 'junit', version: '4.12'
  
    //排除依赖例子
     compile ("org.springframework.boot:spring-boot-starter-aop:${springBootVersion}") {
        exclude group: 'org.slf4j', module: 'slf4j-api'    //排除依赖
        exclude group: 'ch.qos.logback', module: 'logback-classic'  //排除依赖
    }
    //关闭传递性依赖例子
    compile("org.springframework:spring-web:4.3.4.RELEASE") {
         transitive = false    //关闭传递性依赖
    }
}

2.文件依赖

使用语法糖from to 实现

3.解决依赖问题

  1. 最近版本策略(默认)
  2. 冲突失败策略:发生冲突时,编译失败(有些新版本库并不兼容之前的,因此这个库可以让开发者主动作出选择)
  3. 强制指定版本策略:发生冲突时,使用开发者指定的版本
/* 冲突失败策略设置*/
configurations.all {
    resolutionStrategy {  failOnVersionConflict() }
}
/* 强制指定版本策略设置*/
dependencies {
    compile group:'b',name:'b',version:'1.1', force:true
}

猜你喜欢

转载自blog.csdn.net/weixin_40792878/article/details/85220874
今日推荐