本文将介绍如何在 Gradle 中排除掉指定的依赖。
Gradle 3.4 及以下版本
在 Gradle 3.4 及以下版本,我们引入依赖的方式还是通过 compile
,如:
dependencies {
compile 'org.apache.commons:commons-lang3:3.4'
compile project(':common:util')
testCompile 'junit:junit:4.12'
}
想要移除掉某个依赖中的模块,我们通常会这么做:
dependencies {
compile('commons-beanutils:commons-beanutils:1.9.4') {
exclude group: 'commons-collections', module: 'commons-collections'
}
// 不指定 module
compile('commons-beanutils:commons-beanutils:1.9.4') {
exclude group: 'commons-collections'
}
}
Gradle 3.4 及以上版本
升级到 Gradle 3.4+ 之后,Gradle 支持了默认的新的引入依赖的方式: implementation
:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
关于 compile
和 implementation
的区别可移步至 whats-the-difference-between-implementation-and-compile-in-gradle 查看详情。
全局排除依赖
全局排除指定环境的依赖
configurations {
runtime.exclude group: "org.slf4j", module: "slf4j-log4j12"
compile.exclude group: "org.slf4j", module: "slf4j-log4j12"
}
全局排除所有环境下的依赖
configurations.all {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
相关链接:
网友评论