欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Gradle善良:获得更多的依赖性见解

发布时间:2023/12/3 编程问答 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Gradle善良:获得更多的依赖性见解 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在我们的大多数项目中,我们都依赖于其他代码,例如库或其他项目。 Gradle有一个不错的DSL来定义依赖关系。 依赖性在依赖性配置中分组。 这些配置可以自己创建,也可以通过插件添加。 一旦定义了依赖项,我们就可以通过dependencies任务很好地了解项目中的所有dependencies项。 我们可以添加可选参数--configuration以仅查看给定配置的依赖性。 但是我们甚至可以检查使用它的特定依赖项,任何传递性依赖项以及如何解析版本。

在以下示例构建中,我们定义了对Spring Boot和SLF4J API的编译依赖性。 SLF4J API还是Spring Boot依赖项的可传递依赖项,因此我们可以看到dependencyInsight任务如何显示版本冲突。

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' }

现在,让我们在编译配置中为依赖项SLF4J API运行dependencyInsight任务:

$ 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的传递依赖,一次是直接依赖于编译配置。 我们还看到该版本在必要时会升至1.7.7,因为jcl-over-slf4j的传递依赖项定义了最新版本。

我们用于--dependency选项的值用于在依赖项的组,名称或版本属性中进行部分匹配。 例如,要查看对日志记录的所有依赖关系的了解,我们可以调用$ gradle dependencyInsight --dependency logging 。

我们还可以获得带有所有依赖项概述HTML报告页面。 要获得依赖关系见解,我们必须在HTML页面上单击所需的依赖关系,并且获得与命令行类似的输出。 首先,我们必须将project-report插件添加到我们的项目中。 接下来,我们调用dependencyReport任务。 任务完成后,我们可以在Web浏览器中打开build/reports/project/dependencies/index.html 。 当我们导航到编译配置并单击slf4j-api依赖项时,将得到以下输出:

  • 用Gradle 2.0编写。

翻译自: https://www.javacodegeeks.com/2014/08/gradle-goodness-getting-more-dependency-insight.html

总结

以上是生活随笔为你收集整理的Gradle善良:获得更多的依赖性见解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。