gradle引入依赖:_Gradle善良:获得更多的依赖性见解
gradle引入依賴:
在我們的大多數(shù)項(xiàng)目中,我們都依賴于其他代碼,例如庫(kù)或其他項(xiàng)目。 Gradle有一個(gè)不錯(cuò)的DSL來(lái)定義依賴關(guān)系。 依賴性在依賴性配置中分組。 這些配置可以自己創(chuàng)建,也可以通過(guò)插件添加。 一旦定義了依賴關(guān)系,我們就可以通過(guò)依賴dependencies任務(wù)很好地了解項(xiàng)目中的所有依賴dependencies 。 我們可以添加可選參數(shù)--configuration以僅查看給定配置的依賴性。 但是我們甚至可以檢查使用它的特定依賴項(xiàng),任何傳遞性依賴項(xiàng)以及如何解析版本。
在以下示例構(gòu)建中,我們定義了對(duì)Spring Boot和SLF4J API的編譯依賴性。 SLF4J API也是Spring Boot依賴項(xiàng)的可傳遞依賴項(xiàng),因此我們可以看到dependencyInsight任務(wù)如何顯示版本沖突。
apply plugin: 'java'// Set Bintray JCenter as repository. repositories.jcenter()dependencies {// Set dependency for Spring Bootcompile "org.springframework.boot:spring-boot-starter-web:1.1.5.RELEASE"// Set dependency for SLF4J with conflicting version.compile 'org.slf4j:slf4j-api:1.7.1' }現(xiàn)在,在編譯配置中為依賴項(xiàng)SLF4J API運(yùn)行dependencyInsight任務(wù):
$ gradle -q dependencyInsight --configuration compile --dependency slf4j-api org.slf4j:slf4j-api:1.7.7 (conflict resolution) +--- org.slf4j:jcl-over-slf4j:1.7.7 | \--- org.springframework.boot:spring-boot-starter-logging:1.1.5.RELEASE | \--- org.springframework.boot:spring-boot-starter:1.1.5.RELEASE | \--- org.springframework.boot:spring-boot-starter-web:1.1.5.RELEASE | \--- compile +--- org.slf4j:jul-to-slf4j:1.7.7 | \--- org.springframework.boot:spring-boot-starter-logging:1.1.5.RELEASE (*) \--- org.slf4j:log4j-over-slf4j:1.7.7\--- org.springframework.boot:spring-boot-starter-logging:1.1.5.RELEASE (*)org.slf4j:slf4j-api:1.7.1 -> 1.7.7 \--- compileorg.slf4j:slf4j-api:1.7.6 -> 1.7.7 \--- ch.qos.logback:logback-classic:1.1.2\--- org.springframework.boot:spring-boot-starter-logging:1.1.5.RELEASE\--- org.springframework.boot:spring-boot-starter:1.1.5.RELEASE\--- org.springframework.boot:spring-boot-starter-web:1.1.5.RELEASE\--- compile(*) - dependencies omitted (listed previously)在輸出中,我們可以看到slf4j-api被引用了3次,一次是jcl-over-slf4j,jul-to-slf4j和log4j-over-slf4j的傳遞依賴,一次是logback-classic的傳遞依賴,一次是直接依賴于編譯配置。 我們還會(huì)看到該版本在必要時(shí)會(huì)升至1.7.7,因?yàn)閖cl-over-slf4j的傳遞依賴項(xiàng)定義了最新版本。
我們用于--dependency選項(xiàng)的值用于在依賴項(xiàng)的組,名稱或版本屬性中進(jìn)行部分匹配。 例如,要查看有關(guān)日志記錄的所有依賴關(guān)系的見解,我們可以調(diào)用$ gradle dependencyInsight --dependency logging 。
我們還可以獲得帶有所有依賴項(xiàng)概述HTML報(bào)告頁(yè)面。 要獲得依賴關(guān)系見解,我們必須在HTML頁(yè)面上單擊所需的依賴關(guān)系,并且獲得與命令行類似的輸出。 首先,我們必須將project-report插件添加到我們的項(xiàng)目中。 接下來(lái),我們調(diào)用dependencyReport任務(wù)。 任務(wù)完成后,我們可以在Web瀏覽器中打開build/reports/project/dependencies/index.html 。 當(dāng)我們導(dǎo)航到編譯配置并單擊slf4j-api依賴項(xiàng)時(shí),我們得到以下輸出:
- 用Gradle 2.0編寫。
翻譯自: https://www.javacodegeeks.com/2014/08/gradle-goodness-getting-more-dependency-insight.html
gradle引入依賴:
總結(jié)
以上是生活随笔為你收集整理的gradle引入依赖:_Gradle善良:获得更多的依赖性见解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓刷root(安卓刷rom)
- 下一篇: 高效应用程序的7个JVM参数