Gradle依賴管理
Gradle
構建腳本定義了構建項目的過程; 每個項目包含一些依賴項和一些發表項。依賴性意味着支持構建項目的東西,例如來自其他項目的所需JAR
文件以及類路徑中的外部JAR
(如JDBC JAR
或Eh-cache JAR
)。發佈表示項目的結果,如測試類文件和構建文件,如war
文件。
Gradle
負責構建和發佈結果。 發佈基於定義的任務。 可能希望將文件複製到本地目錄,或將其上傳到遠程Maven或lvy存儲庫,或者可以在同一個多項目構建中使用另一個項目的文件。 發佈的過程稱爲發佈。
聲明依賴關係
Gradle
遵循一些特殊語法來定義依賴關係。 以下腳本定義了兩個依賴項,一個是Hibernate core 3.6.7
,第二個是Junit 4.0
和更高版本。如下面的代碼所示,可在build.gradle
文件中使用此代碼。
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
依賴關係配置
依賴關係配置只是定義了一組依賴關係。 您可以使用此功能聲明從Web下載外部依賴關係。這定義了以下不同的標準配置。
- 編譯 − 編譯項目的生產源所需的依賴關係。
- 運行時 - 運行時生產類所需的依賴關係。 默認情況下,還包括編譯時依賴項。
- 測試編譯 - 編譯項目測試源所需的依賴項。 默認情況下,它包括編譯的產生的類和編譯時的依賴。
- 測試運行時 - 運行測試所需的依賴關係。 默認情況下,它包括運行時和測試編譯依賴項。
外部依賴
外部依賴是一種依賴。 這是對當前構建之外構建的一些文件的依賴,並且存儲在某種類型的存儲庫中,例如:Maven central,corporate Maven或lvy repository或本地文件系統中的目錄。
以下代碼片段是定義外部依賴關係。 在build.gradle
文件中使用如下代碼。
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}
存儲庫
在添加外部依賴關係時, Gradle在存儲庫中查找它們。 存儲庫只是文件的集合,按分組,名稱和版本來組織構造。 默認情況下,Gradle不定義任何存儲庫。 我們必須至少明確地定義一個存儲庫。 下面的代碼片段定義瞭如何定義 maven
倉庫。 在build.gradle
文件中使用此代碼。
repositories {
mavenCentral()
}
下面的代碼是定義遠程maven
。 在build.gradle
文件中可使用下面代碼。
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
發佈文件
依賴關係配置也用於發佈文件。 這些已發佈的文件稱爲工件。 通常,我們使用插件來定義工件。 但是需要告訴Gradle
在哪裏發佈文件。可以通過將存儲庫附加到上傳存檔任務來實現此目的。 請查看以下用於發佈Maven
存儲庫的語法。 執行時,Gradle
將根據項目需求生成並上傳Pom.xml
。 在build.gradle
文件中使用此代碼。
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://localhost/tmp/myRepo/")
}
}
}