本教程讲述了如何在gradle中排除依赖性。这篇文章还包括在groovy和kotlin脚本中排除jar文件的内容。
Gradle使用两种不同的版本语法来配置构建依赖性
如何在gradle中排除过渡性依赖?
这一节谈到了在runtime 和compile 时对每个依赖的排除问题
**排除运行时的依赖。**有些时候,你有一些与直接依赖的版本有冲突的过渡性依赖。
这将从给定的输出jar或war文件中排除该依赖库。
假设org.springframework.security 模块有一个依赖项spring-security-web ,你想排除spring-security-web 。
你必须对groovy脚本进行如下配置
implementation('org.springframework.security.spring-security-taglibs:4.3.0') {
exclude group: 'org.springframework.security', module: 'spring-security-web'
}
Kotlin
implementation('org.springframework.security.spring-security-taglibs:4.3.0') {
exclude(group='org.springframework.security', module= 'spring-security-web')
}
使用exclude,它按组和模块排除模块,不支持版本。
排除编译依赖。在编译配置中,添加排除配置,在编译目标中排除模块和模块名称
编译('org.springframework.security.spring-security-taglibs:4.3.0'){ 排除组:'org.springframework.security', 模块。'spring-security-web' }
compile('org.springframework.security.spring-security-taglibs:4.3.0') {
exclude(group='org.springframework.security', module= 'spring-security-web')
}
如何在gradle项目中全局排除依赖?
有些时候,我们想排除适用于编译和运行时的全局依赖关系
使用configuration.all属性,你可以使用组和模块为依赖性添加排除选项。
configurations.all {
exclude group:"org.slf4j", module: "slf4j-api"
}
总结
在本教程中,你学会了如何排除全局依赖,以及在编译和运行时依赖中排除每个依赖。
在gradle中,你只能用组和模块名来排除,但不能用版本配置来排除。