Gradle 依賴管理


依賴管理(在 build.gradle 中):

1、定義依賴倉庫(repositories):

Gradle 要求至少定義一個依賴倉庫,依賴倉庫可以是文件系統,也可以是中心服務器。最常用的是 jcenter 和 mavenCentral。

2、申明依賴(dependencies):

和 Maven 類似,依賴的坐標直接為:group、name、version。此外,引入不同的插件會引入不同的依賴配置類別。

依賴坐標可以簡寫(用 : 分隔):

'org.apache.commons:commons-lang3:3.8.1'

3、項目的依賴類型:

  • 外部模塊依賴:剛才的外部倉庫
  • 項目依賴:一個項目依賴另一個項目。如:compile project(':projectB')。
  • 文件依賴:依賴本地文件

4、依賴的下載:

當執行 build 命令時,gradle 就會去配置的依賴倉庫中下載對應的 Jar,並應用到項目中。

5、依賴配置類型:

在 dependency 前面可指明其依賴類型,可選(和 Maven 的 scope 標簽類似)。Java 插件提供了 6 種現成的類型:

  • compile:編譯過程中必須依賴的類庫
  • runtime:運行時必須(編譯時不需要)
  • testCompile:編譯測試時需要
  • testRuntime:運行測試時需要
  • archives:如果項目在編譯過程中,有 jar 文件生成,則包含

6、將依賴打包進 jar:如果需要讓編譯出來的 jar 直接可以運行,可以考慮將依賴庫全部,或者部分打包進 jar。

在 jar 配置項中,配置包含內容的來源即可:

// HelloWorld.java
package com.rainsia.hello;

import org.apache.commons.lang3.StringUtils;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(StringUtils.capitalize("hello world!"));
    }
}

// build.gradle 中
dependencies {
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
//    archives "org.apache.commons:commons-lang3:3.1"
}

jar {
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
    manifest {
        attributes 'Main-Class': 'com.rainsia.hello.HelloWorld'
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM