天天看點

Gradle的依賴

每一個項目都有一個ConfigurationContainer類的容器來管理相應的配置,并且每一個Gradle都是有依賴處理器的,由DependencyHandler接口來實作

如下圖:

Gradle的依賴

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
}
           

繼續閱讀