gradle排除依赖

我正在使用Spring Boot。 默认情况下,Spring Boot带有Logback。 我想使用log4j(出于任何原因..)

为了做到这一点,我不得不排除logback并添加新的log4j依赖项:

在此软件包中“隐藏”了logback:

compile("org.springframework.boot:spring-boot-starter:$project.ext.springBootVersion"){exclude module: 'org.springframework.boot:spring-boot-starter-logging'
}compile("org.springframework.boot:spring-boot-starter-log4j:$project.ext.springBatchVersion")

现在,当您尝试运行应用程序时,会出现以下异常:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/dev/caches/modules-2/files-2.1/org.slf4j/slf4j-log4j12/1.7.10/b3eeae7d1765f988a1f45ea81517191315c69c9e/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/dev/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.1.2/b316e9737eea25e9ddd6d88eaeee76878045c6b2/logback-classic-1.1.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]

现在,我们必须查看Gradle的依赖关系树,以查看隐藏了logback的位置以消除它。

查看gradle依赖关系树的简单命令:

gradle -q dependencies web:dependencies --configuration compile

* web代表您的模块名称。

输出的快照视图:

Project :web - web------------------------------------------------------------compile - Compile classpath for source set 'main'.+--- org.springframework.boot:spring-boot-starter-actuator:1.2.2.RELEASE| +--- org.springframework.boot:spring-boot-starter:1.2.2.RELEASE| | +--- org.springframework.boot:spring-boot:1.2.2.RELEASE| | | +--- org.springframework:spring-core:4.1.5.RELEASE| | | | \--- commons-logging:commons-logging:1.2| | | \--- org.springframework:spring-context:4.1.5.RELEASE| | | +--- org.springframework:spring-aop:4.1.5.RELEASE| | | | +--- aopalliance:aopalliance:1.0| | | | +--- org.springframework:spring-beans:4.1.5.RELEASE| | | | | \--- org.springframework:spring-core:4.1.5.RELEASE (*)| | | | \--- org.springframework:spring-core:4.1.5.RELEASE (*)| | | +--- org.springframework:spring-beans:4.1.5.RELEASE (*)| | | +--- org.springframework:spring-core:4.1.5.RELEASE (*)| | | \--- org.springframework:spring-expression:4.1.5.RELEASE| | | \--- org.springframework:spring-core:4.1.5.RELEASE (*)| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.2.RELEASE| | | +--- org.springframework.boot:spring-boot:1.2.2.RELEASE (*)| | | \--- org.yaml:snakeyaml:1.14| | +--- org.springframework.boot:spring-boot-starter-logging:1.2.2.RELEASE| | | +--- org.slf4j:jcl-over-slf4j:1.7.10| | | | \--- org.slf4j:slf4j-api:1.7.10| | | +--- org.slf4j:jul-to-slf4j:1.7.10| | | | \--- org.slf4j:slf4j-api:1.7.10| | | +--- org.slf4j:log4j-over-slf4j:1.7.10| | | | \--- org.slf4j:slf4j-api:1.7.10| | | \--- mycompany:logback-classic:1.1.2| | | +--- mycompany:logback-core:1.1.2| | | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.10| | +--- org.springframework:spring-core:4.1.5.RELEASE (*)| | \--- org.yaml:snakeyaml:1.14| +--- org.springframework.boot:spring-boot-actuator:1.2.2.RELEASE

我们可以从我们的一个依赖项中找到一个弹出的logback实例:

mycompany:logback-core:1.1.2

(我发现logback show在其他依赖项中)。

现在我们有两个选择:

  1. 在Indecency树中排除每个Logback的路由
  2. 使用配置范围内的排除(更简便的方法)

因此,转到您的build.gradle并添加以下内容:

configurations {compile.exclude group:'ch.qos.logback'
}

而已。 你的噩梦结束了。 如果再次检查依赖关系树,您将不再看到任何logback。

翻译自: https://www.javacodegeeks.com/2015/03/how-to-exclude-libraries-from-all-dependencies-in-gradle.html

gradle排除依赖

gradle排除依赖_如何从Gradle中的所有依赖项中排除库相关推荐

  1. eclipemaven本地仓库依赖_【Maven】解决本地jar依赖

    背景 最近有一个非常古老的JavaEE项目(外包公司给做的,我都想放弃了),使用Maven管理的.突然有一天,同事在本地运行时,发现下载依赖慢如蜗牛,究竟是什么东东在作祟呢?让我一一道来. 抽丝剥茧 ...

  2. aptitude安装出现依赖_开发函数计算的正确姿势——依赖安装方法一览

    1. 前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函 ...

  3. gradle 引入jar时自动引入父依赖_原创 | 看完此文,你对Gradle的理解又升级了

    前言 这一篇来介绍一些Gradle进阶的内容,当然进阶内容非常多,这篇文章就总结一些相对重要的.常用的一些知识点,比如Gradle的签名配置和依赖管理. 1.Android签名文件配置 在一般公司中, ...

  4. 去除maven父依赖_如何在Maven中从父项目中排除依赖项?

    我遇到了和你一样的问题. 在我的项目中,让我们称父pom为parent.pom. parent定义了log4j,slf4j是这样的: org.slf4j slf4j-api ${slf4j-api.v ...

  5. idea2019配置gradle详解_在IDEA里gradle配置和使用

    在IDEA里gradle配置和使用 前言 有人说Gradle使用groovy语言编写,简单,明了没像maven使用xml臃肿,其实我倒不觉得,我觉得maven挺好的,管理jar依赖和项目生命周期挺方便 ...

  6. linux 搭建gradle android jenkins打包机器,gradle 依赖 jar问题

    app/build.gradle文件 apply plugin: 'com.android.application'android {compileSdkVersion 25buildToolsVer ...

  7. maven将第三方依赖_如何将商业第三方文物整合到您的Maven版本中

    maven将第三方依赖 根据ZeroTurnaround的RebelLabs最近进行的一项调查 ,Maven仍然是领先的Java构建平台. 根据RebelLabs,当前的市场份额分布是: Maven的 ...

  8. gradle 上传jar包_Gradle学习记录014 关于依赖的声明

    详细学习Gradle构建的依赖声明.该学习记录基于Gradle官方网站资料.本篇参考链接如下: https://docs.gradle.org/current/userguide/declaring_ ...

  9. 解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题

    最近一个项目中,使用号称下一代构建工具的Gradle构建项目. 使用中发现一个问题,Gradle从中央库下载的jar文件在系统的其它目录,使用gradle eclipse添加Eclipse支持时,ja ...

最新文章

  1. codevs1258 关路灯(☆区间dp)
  2. 微软私有云分享(R2)5-域升级造成Hyper-V主机无法实时迁移
  3. 从netty-example分析Netty组件
  4. 黑马程序员C语言基础(第八天)复合类型(自定义类型)(结构体)、共用体(联合体)、枚举enum、 typedef
  5. OpenCASCADE:环境变量
  6. vim编辑器---批量注释与反注释
  7. C#委托、事件学习之(二)——简单按钮委托事件
  8. oracle sql 查询优化器,基于ORACLE成本优化器的SQL查询优化分析与应用
  9. 来啦~ C++学习建议和学习资料
  10. C语言经典100道编程练习题
  11. OpenDDS典型idl举例(系统)
  12. 如何获取qq群成员的资料信息(爬虫)
  13. 【网络安全】最全渗透学习攻略
  14. 信息安全原理与技术第八次实验:拒绝服务攻击与防范
  15. React路由官方网站
  16. Linux gre tunnel 端口,两台Linux通过GRE tunnel的隧道实现互通 — 并且改变其中一台的回程路由...
  17. 2020商业风口复盘:巨变下的重构与新生
  18. 数据结构——栈的应用
  19. ENVI:在ENVI中如何查看所打开遥感影像的所有波段
  20. gmod找不到好友服务器,Garry’s Mod|Gmod服务器架设教程(二)架设沙盒模式服务器...

热门文章

  1. AT3611-Tree MST【点分治,最小生成树】
  2. [2020.11.26NOIP模拟赛]勇者的后缀【SA,RMQ,主席树,二分】
  3. P5268-[SNOI2017]一个简单的询问【莫队】
  4. P2831-愤怒的小鸟【状压dp】
  5. vijos1056-图形面积【离散化】
  6. 【DP】回文词 (ssl 1813)
  7. NOIP2018-普及参赛总结
  8. Kafka面试题与答案全套整理
  9. Java集合面试问题
  10. Java:关于main方法的10道面试题