Gradle - 依賴管理



Gradle構建指令碼定義了一個構建專案的流程;每個專案都包含一些依賴項和一些釋出物。依賴項是指支援構建專案的事物,例如來自其他專案的所需JAR檔案和類路徑中的外部JAR檔案,例如JDBC JAR或Eh-cache JAR。

釋出物是指專案的成果,例如測試類檔案、構建檔案和war檔案。

並非所有專案都是獨立的。它們需要由其他專案構建的檔案來編譯和測試原始檔。例如,為了在專案中使用Hibernate,您需要在類路徑中包含一些Hibernate JAR檔案。Gradle使用一些特殊的指令碼定義需要下載的依賴項。

Gradle處理構建和釋出成果。釋出基於您定義的任務。它可能希望將檔案複製到本地目錄,或將它們上傳到遠端Maven或Ivy儲存庫,或者您可能在同一多專案構建中使用來自另一個專案的檔案。我們可以將釋出過程稱為釋出任務。

宣告您的依賴項

依賴配置定義一組依賴項。您可以使用此功能宣告要從Web下載的外部依賴項。這定義了以下不同的標準。

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下載的外部依賴項。這定義了以下不同的標準配置。

  • 編譯 (Compile) − 專案編譯生產原始碼所需的依賴項。

  • 執行時 (Runtime) − 生產類在執行時所需的依賴項。預設情況下,它還包括編譯時依賴項。

  • 測試編譯 (Test Compile) − 專案編譯測試原始碼所需的依賴項。預設情況下,它包括已編譯的生產類和編譯時依賴項。

  • 測試執行時 (Test Runtime) − 執行測試所需的依賴項。預設情況下,它包括執行時和測試編譯依賴項。

外部依賴項

外部依賴項是一種依賴項型別。這是對當前構建外部構建並存儲在某種型別的儲存庫(例如Maven中央儲存庫、公司Maven或Ivy儲存庫或本地檔案系統中的目錄)中的一些檔案的依賴項。

以下程式碼片段用於定義外部依賴項。在build.gradle檔案中使用此程式碼。

dependencies {
   compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}

外部依賴項宣告外部依賴項,快捷形式類似於“group:name:version”

儲存庫

新增外部依賴項時,Gradle會在儲存庫中查詢它們。按組、名稱和版本組織的檔案集合稱為儲存庫。預設情況下,Gradle不會定義任何儲存庫。我們必須顯式定義至少一個儲存庫。以下程式碼片段定義瞭如何定義Maven儲存庫。在build.gradle檔案中使用此程式碼。

build.gradle檔案中使用以下程式碼:

repositories {
   mavenCentral()
}

以下程式碼用於定義遠端Maven。在build.gradle檔案中使用此程式碼。

repositories {
   maven {
    url "http://repo.mycompany.com/maven2"
   }
}

釋出構件

依賴配置也用於釋出檔案。這些已釋出的檔案稱為構件。通常,我們使用外掛來定義構件。但是,您確實需要告訴Gradle在哪裡釋出構件。

您可以透過將儲存庫附加到uploadArchives任務來實現此目的。檢視以下發布Maven儲存庫的語法。執行時,Gradle將根據專案要求生成並上傳Pom.xml

build.gradle檔案中使用此程式碼。

apply plugin: 'maven'

uploadArchives {
   repositories {
      mavenDeployer {
         repository(url: "file:///tmp/myRepo/")
      }
   }
}
廣告
© . All rights reserved.