首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >级别-spring-安全性-标记库:4.0.4 taglibs正在内部下载spring-jdbc-4.2.5.RELEASE

级别-spring-安全性-标记库:4.0.4 taglibs正在内部下载spring-jdbc-4.2.5.RELEASE
EN

Stack Overflow用户
提问于 2016-04-08 07:07:26
回答 1查看 580关注 0票数 1

在我的项目中,我的spring-jdbc:4.1.4.RELEASE运行良好,没有任何问题。现在,为了进行新的更改,我尝试在我的项目中添加spring-security-taglibs:4.0.4.RELEASE,该项目试图下载spring-security-taglibs:4.0.4.RELEASEspring-jdbc-4.2.5.RELEASE,这将在我的项目中造成严重问题。因为我所需要的spring-jdbc版本是4.1.4.RELEASE,我显式地指定了它。我怎么才能避免这种情况?后面发生了什么?

这是gradle的怪异行为

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-08 08:43:19

好像你的build.gradle里有这样的东西

代码语言:javascript
复制
repositories {
    mavenCentral()
}

dependencies {
    compile 'org.springframework:spring-jdbc:4.1.4.RELEASE'
    compile 'org.springframework.security:spring-security-taglibs:4.0.4.RELEASE'
}

因此,这会在依赖项中引入冲突,在以下任务的输出中可以看到该冲突:

代码语言:javascript
复制
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安全标记
  • 解决脚本中的版本冲突(最糟糕的海事组织),并保持您的手指祈祷。你至少需要一些运气:-)细节- 这里
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36493572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档