如何在Spring Boot中强制执行特定的Spring Security版本依赖项

时间:2015-10-08 00:49:56

标签: java spring maven spring-mvc intellij-idea

如何确保使用Spring Security> 3.2.1符合此documentedbug?:

class path resource [org/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] 
cannot be opened because it does not exist

我在我的POM.xml中尝试upgrading it没有运气( Intellij 抱怨该版本不存在):

enter image description here

Intellij Maven设置中的本地存储库路径是正确的。我将鼠标悬停在投诉上并选择“更新Maven指数”。它尝试更新我的本地存储库,仅返回依赖项不存在。

那么,我怎样才能确保找到 GlobalAuthenticationConfigurerAdapter.class

2 个答案:

答案 0 :(得分:0)

if you are using older spring boot starter but you want latest security you could do something like this

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.2.RELEASE</version>
</parent>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>4.1.3.RELEASE</version>
    </dependency>

答案 1 :(得分:0)

使用Spring Boot时,使用不同的Spring Boot Starter项目来获取适当的依赖项。对于Spring Security,它意味着添加spring-boot-starter-security依赖项以获得所有必需的Spring Security依赖项。

使用启动器可以避免搜索正确的依赖项和依赖项版本,您将以这种方式获得一组有效的依赖项。