在我的项目中,我的spring-jdbc:4.1.4.RELEASE运行良好,没有任何问题。现在,为了进行新的更改,我尝试在我的项目中添加spring-security-taglibs:4.0.4.RELEASE,该项目试图下载spring-security-taglibs:4.0.4.RELEASE和spring-jdbc-4.2.5.RELEASE,这将在我的项目中造成严重问题。因为我所需要的spring-jdbc版本是4.1.4.RELEASE,我显式地指定了它。我怎么才能避免这种情况?后面发生了什么?
这是gradle的怪异行为
发布于 2016-04-08 08:43:19
好像你的build.gradle里有这样的东西
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework:spring-jdbc:4.1.4.RELEASE'
compile 'org.springframework.security:spring-security-taglibs:4.0.4.RELEASE'
}因此,这会在依赖项中引入冲突,在以下任务的输出中可以看到该冲突:
gradle dependencyInsight --dependency org.springframework:spring-jdbc
:dependencyInsight
org.springframework:spring-jdbc:4.2.5.RELEASE (conflict resolution)
\--- org.springframework.security:spring-security-acl:4.0.4.RELEASE
\--- org.springframework.security:spring-security-taglibs:4.0.4.RELEASE
\--- compile
org.springframework:spring-jdbc:4.1.4.RELEASE -> 4.2.5.RELEASE
\--- compile上面的箭头(->)表示使用了gradle默认分辨率策略,gradle选择了4.2.5 (最新的)。您可以在gradle文档中阅读:
Gradle提供了以下解决冲突的策略: 最新版本:使用依赖项的最新版本。这是Gradle的默认策略,并且通常是一个适当的选择,只要版本是向后兼容的。 失败:版本冲突导致构建失败。此策略要求在构建脚本中显式解决所有版本冲突。
我认为你的选择是:
spring-jdbc (最好的国际海事组织)spring-jdbc的旧的spring安全标记https://stackoverflow.com/questions/36493572
复制相似问题