Maven Repository 上 4.1.1 中的 spring-security-web 在哪里?
Posted
技术标签:
【中文标题】Maven Repository 上 4.1.1 中的 spring-security-web 在哪里?【英文标题】:Where is spring-security-web in 4.1.1 on Maven Repository? 【发布时间】:2014-12-29 10:34:04 【问题描述】:我使用 Spring 3.x 风格已经有一段时间了,我正在跳到 4.1.1
我使用 Maven 存储库来查找依赖项和包,当我访问 spring-security-web 或 spring-security-core 3.2.5 的站点时,这是可用的最高版本。但是,4.1.1 可用于所有与安全无关的 spring 依赖项。
什么给了? Spring 4 安全性有问题吗?
【问题讨论】:
【参考方案1】:Spring Security 版本不需要匹配 Spring Framework 版本。
这是来自Spring Security docs的引用:
使用 Spring 4 和 Maven
Spring Security 针对 Spring Framework 3.2.8.RELEASE 构建,但也针对 Spring Framework 4.0.2.RELEASE 进行了测试。这意味着您可以将 Spring Security 3.2.5.RELEASE 与 Spring Framework 4.0.2.RELEASE 一起使用。许多用户会遇到的问题是 Spring Security 的传递依赖解决了 Spring Framework 3.2.8.RELEASE 导致各种奇怪的类路径问题。
所以肯定可以将 Spring Security 3.2.5.RELEASE 与 Spring 4.0.2.RELEASE 一起使用。但这是在谈论 Maven 的使用。我个人相信你可以毫无问题地使用 Spring Security 3.2.5.RELEASE 和最新版本的 Spring Framework。
我建议使用 Spring Boot,它应该为您提供稳定的 Spring 版本矩阵。 Spring Boot 最新稳定版本为 1.1.8.RELEASE,涵盖 Spring Framework 4.0.7.RELEASE 和 Spring Security 3.2.5.RELEASE。
【讨论】:
非常有用的答案,非常感谢。我之前正在阅读此文档,并且一定错过了这一点。这是否意味着我应该从 4.1.1 降级到 4.0.2? 我相信你不需要降级。 好的。我也会看看 Spring Boot Spring Boot 绝对值得一试,因为它显着简化了 Maven 配置并解决了很多 jar 版本冲突问题。【参考方案2】:版本 4 中没有 Spring Security。至少不是最终版本。如果您查看项目页面 (http://projects.spring.io/spring-security/),您可以看到当前版本是 3.2.5。
版本 4 目前正在开发中,但仅作为里程碑 2 提供。如果需要,您可以使用 Spring Milestones 存储库来访问此里程碑版本:
<dependencies>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>4.0.0.M2</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
【讨论】:
以上是关于Maven Repository 上 4.1.1 中的 spring-security-web 在哪里?的主要内容,如果未能解决你的问题,请参考以下文章