我正在尝试将jar依赖项添加到我的Android项目中:
dependencies {
compile files('<SOME_JAR>')
}
但jar包装了一个我不想包含的库依赖。相反,我想声明一个更新版本的库:
dependencies {
compile '<NEW_VERSION_LIBRARY>'
compile files('<SOME_JAR>') {
exclude '<OLD_VERSION_LIBRARY>'
}
}
是否有可能在Gradle中实现这样的目标?
答案 0 :(得分:1)
如果您的依赖项正在加载给定库的多个版本,并且您想要使用特定版本,那么您可以执行类似这样的操作,它将始终使用Groovy 2.4.5:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'org.codehaus.groovy') {
details.useVersion '2.4.5'
}
}
}
如果您只是想避免加载特定的依赖项,因为您更喜欢使用其他东西,那么您需要这样的东西,这将排除Apache Commons Logging并替代SLF4J和Logback:
dependencies {
compile ( "com.orientechnologies:orientdb-graphdb:2.0.7" ) {
exclude module:'commons-logging'
}
compile 'org.slf4j:slf4j-api:1.7.12'
runtime 'org.slf4j:jcl-over-slf4j:1.7.12'
runtime 'ch.qos.logback:logback-classic:1.1.3'
}