2015年1月24日

Gradle(6) 相依管理-抓取程式版本



(2)定義相依規則
當我們定義好哪裡抓取的規則後,接下來我們會介紹實際抓取jar檔的動作規則設定,在Gralde中會把抓取的規則寫在dependencies{ }區塊中。

由下面的範例我們可以知道,dependencies區塊會定義抓取{組織}{檔名}{版本}規則讓它可以抓取,complie方法會比complie group更簡潔和方便。

apply plugin: 'java'

repositories {
       mavenCentral()
}

dependencies {
 compile group: 'org.springframework', name: 'spring-core', version: '3.1.1.RELEASE'
 
compile 'org.springframework:spring-core:3.1.1.RELEASE’
}

如果我們可以將jar檔的組織與版本可以使用變數定義,會讓我們開發專案時候,更容易維護gradle的腳本與彈性

ext{
   springVersion : ‘'3.1.1.RELEASE'’
   springGroup : ‘'org.springframework'’
}
dependencies {
 compile group: '$springGroup’ , name: 'spring-core', version: '$springVersion'
 

}

遞移相依(Transitive Dependency) wiki解說
當管理多個版本相依時,發生遞移相依時不需要下載可以設定為transitive = false

  • 排除相依性

dependencies {
    compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.6.4', transitive: false

}

  • 排除部分相依

dependencies {
       compile('org.slf4j:slf4j-simple:1.6.4') {
       exclude 'org.slf4j:slf4j-api'
       }
}

程式版本動態
我們可以設定一個版本的範圍,來抓取jar檔案的範圍,下列符號

符號

說明

[1.0, 2.0] 版本在1.0~2.0之間
[1.0, 2.0[ 版本在1.0~2.0之間,但是不等於2.0
[1.0, ) 版本大於1.0以上
(, 2.0] 小於或是等於2.0
2.+ 大於2.0以上

 

apply plugin: 'java'

repositories {
     mavenCentral()
}

dependencies {
     compile group: 'org.springframework', name: 'spring-core',
     version: '[3.0, 3.1['
}

 

 

 

 

 

沒有留言:

張貼留言