gradle引入依赖:_Gradle善良:获得更多的依赖性见解

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-Dep-Insight

  • 用Gradle 2.0编写。

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

gradle引入依赖:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android popupwindow 调用方法,Android PopUpWindow使用详解

释放双眼,带上耳机,听听看~!一、概述1、PopupWindow与AlertDialog的区别最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManager参数来改变位置)。而PopupWindow是可以指定显示位置…

高效应用程序的7个JVM参数

在撰写本文时(2020年3月),围绕垃圾收集和内存,您可以将600多个参数传递给JVM。 如果您包括其他方面,则JVM参数总数将很容易超过1000个。 😊。 任何人都无法消化和理解太多的论据。 在本文中,我们…

junit:junit_简而言之,JUnit:另一个JUnit教程

junit:junit为什么还要另一个JUnit教程? 对于Java世界中的开发人员而言, JUnit似乎是最受欢迎的测试工具 。 因此,难怪就此主题已经写了一些好书 。 但是我仍然经常遇到程序员,他们至多对这个工具及其正确用法都不太了解。 因此&…

16.04编译android 7.0,ubuntu16.04 编译Android5.1报错

hi kylin team,我使用 ubuntu16.04 构建 android 编译环境后编译 android5.1 时出现如下报错。请向开发团队反馈看能否给出解决方案,谢谢!当我使用 ubuntu16.04 构建 Android 编译环境后, 编译报错. 报错信息如下:/home/.../proj/.../anroidsrcroot/preb…

用Java将文件读入字节数组的7个示例

嗨,大家好,Java程序员经常在现实世界中遇到编程问题,他们需要将文件中的数据加载到字节数组中,该文件可以是文本或二进制文件。 一个示例是将文件的内容转换为String以便显示。 不幸的是,用于表示文件和目录的Java的Fi…

部署gradle_使用Gradle消除开发重新部署

部署gradle为了进行服务开发,我的团队最近从Grails转到了Dropwizard框架。 但是,我真正从Grails堆栈中真正错过的一件事是自动重新加载:对源文件的任何更改在保存后立即显示在运行的应用程序中,而无需重新启动。 事实证明&#xf…

android thrift https,HTTPS 学习

https是加密的http协议,通过不对称加密确认对称加密的密钥,之后使用对称加密进行通信。通信流程:客户端-服务端1. 请求服务器 并添加支持的 非对称加密算法 对称加密算法 hash算法----2. 服务器返回证书,加密算法的种类&#xff0…

如何使用Java创建AWS Lambda函数

在本教程中,我们将看到如何在Java中创建AWS Lambda函数,我告诉你,这样做非常容易…… 基本上,我们可以通过三种方式创建AWS Lambda函数: –通过实现RequestHandler接口 –通过实现RequestStreamHandler接口 –自定义…

android 主流机型排行榜,10月份Android热门手机机型Top 50排行榜

根据《尼尔森:第三季度Android占美智能手机43%份额》的报告显示, 43%的美国人拥有智能手机,智能手机用户数量在过去六个月增加了5%,而其中Android占据了43%的份额,iPhone占据了28%,很明显Android的份额优势…

ejb生命周期_EJB 3.x:生命周期和并发模型(第1部分)

ejb生命周期对于经验丰富的专业人员来说,Java EE组件生命周期和与并发相关的详细信息可能不是新知识,但是对于初学者来说,这可能会花费一些时间。 就EJB而言,了解其生命周期 (以及相关的并发场景)对于确保…

Quarkus on OpenJ9 JVM和资源消耗

除了本机模式,Quarkus在JVM模式下也能很好地运行,这有其自身的优势。 您可以使用替代的JVM,例如OpenJ9,它可以更好地消耗资源。 在下面的视频中,我将展示交换JVM的简便性。 在视频中,我在最新标签x86_64-a…

java 并发 线程安全_Java并发教程–线程安全设计

java 并发 线程安全在回顾了处理并发程序时的主要风险(例如原子性或可见性 )之后,我们将通过一些类设计来帮助我们防止上述错误。 其中一些设计导致了线程安全对象的构造,从而使我们能够在线程之间安全地共享它们。 作为示例&…

交易猫鸿蒙空间,回收站是指

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。回收站是指微软Windows操作系统里的其中一个系统文件夹,用以把删除的文件暂时保留,留待将来进行恢复或永久删除。用好和管理好回收站、打造富有个性功能的回收…

Apache Camel 3.1 – XML路由的快速加载

Camel 3.1中添加的一项功能是能够更快地加载XML路由。 这是我们使Camel变得更小,更快的整体工作的一部分。 您可能会说ewww XML。 但坦率地说,有很多Camel用户使用XML定义路由来构建应用程序。 在Camel 2.x中,您将不得不使用Spring或OSGi Bl…

dz自动开起html,discuz论坛开启markdown 允许html代码嵌入js

|| markdown是非常好用的文档语言,mermaid是最流行的流程图语言,katex是最流行的公式语言,下面来讲解如何配置和使用。以下配置纯属个人研究,仅供参考1. 文件配置/home/www/template/你的模板/common/header.htm中加入复制代码/ho…

内存泄露严重吗_内存泄漏–测量频率和严重性

内存泄露严重吗这篇文章是我们开放文化的一部分-我们将继续分享日常工作中的见解。 这次,我们窥视了我们价值主张的核心,即–寻找以下问题的答案: Java应用程序中内存泄漏多久发生一次? 内存泄漏有多大? 内存泄漏增…

html选择器有哪些child,css3选择器child有哪些?css3选择器child用法详解

本篇文章给大家带来的内容是关于css3选择器child有哪些?css3选择器child用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。对于CSS3的结构伪类选择器,为了更好地让刚刚学习CSS3教程的新手能够理…

内蒙古高考2021年成绩查询,内蒙古招生考试信息网:2021年内蒙古高考查分入口、查分系统...

【摘要】为了方便内蒙古高考考生能及时查询到2021年高考成绩,高考频道特别整理了的内蒙古招生考试信息网2021年内蒙古高考成绩查询入口、查分系统,考生可在成绩公布时直接点击下面的链接进行查分,预祝大家金榜题名!自内蒙古招生考…

余数运算符在Java中用于Doubles

我在OSU任教已近两年了,这总是令我惊讶,我从学生那里学到了多少。 例如,过去, 我让学生写一些我不理解的奇怪代码 。 在这一点上,即使经过300多个博客文章, 几个YouTube视频 ,甚至从100多种语言…

HATEOAS的RESTful服务。 记录超媒体API

1.简介 希望本教程的前一部分不仅揭示了超媒体和HATEOAS的深远影响,而且使我们确信这些都是RESTful Web服务和API的基本构建块。 在这一部分中,我们将继续侧重于文档方面,以解决如何预先传递Web服务或API功能的问题。 目录 1.简介 2. OpenA…