为什么在 Spring 引导项目中找不到 class SecurityEvaluationContextExtension?

Why class SecurityEvaluationContextExtension can not be found in Spring Boot Project?

我有一个 spring 基于引导的项目,在 pom.xml 中有以下声明:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

和其他人之间的依赖关系

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

但似乎 spring 启动没有在 class 路径上引入 SecurityEvaluationContextExtension class。

我是缺少依赖项还是使用旧版本的 spring 启动?

编辑:

我在 pom.xml 中直接添加了以下依赖项,现在我可以看到 class,但是 STS 显示警告:"Duplicating managed version 4.0.3.RELEASE for spring-security-data"

    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-data</artifactId>
        <version>4.0.3.RELEASE</version>
    </dependency>       

我不明白你说 'spring is not pulling in..' 是什么意思 但是要使用这个扩展,你必须创建一个这种类型的 bean,请参见 SecurityEvaluationContextExtension

编辑: 您收到的警告没有问题。您可以尝试从依赖项中删除该版本,因为它似乎可以通过 dependencyManagement 获得。