我正在尝试编写一个spring安全测试,就像这里所描述的http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#test-mockmvc-setup。我需要将SecurityMockMvcConfigurers作为静态导入导入,但是我的集成开发环境找不到该类。
我的pom.xml如下所示:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.M2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>Spring Boot 1.4.0.M2导入Spring Security 4.0.4.RELEASE。我在这个版本中找不到这个类。我需要哪些额外的依赖项?或者我还有什么没考虑到的?
发布于 2016-04-25 01:08:51
缺少的依赖项为:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<version>4.0.4.RELEASE</version>
</dependency>发布于 2017-12-10 04:42:03
org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers类所需的依赖项是org.springframework.security:spring-security-test依赖项。
问题被标记为Spring Boot,Spring Boot在spring-boot-starter-parent pom中将依赖项作为托管依赖项提供。
你的pom很可能继承自spring-boot-starter-parent。
因此,最重要的是,不要在没有很好的理由的情况下指定版本,只使用从父级继承的版本。
这就足够了:
<dependencies>
...
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
...
<dependencies> 例如,对于Spring Boot 2.0.0.M5,托管版本为
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<version>5.0.0.M5</version>
</dependency>M5不仅仅是偶然的。
这些都是为了更好地协同工作而设计的。
请注意,org.springframework.boot:spring-boot-starter-test依赖项不会拉出spring-security-test依赖项。
如果您不使用Spring Boot,您应该努力指定一个与应用程序使用的Core Spring版本一致的spring-security-test版本。
发布于 2016-04-25 00:01:23
类SecurityMockMvcConfigurers包含在
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>在其他版本中,SecurityMockMvcConfigurers可能不存在。
然而,有一个类MockMvcConfigurer,也许你可以用它来代替?
关于:但此依赖项不包含相应的类。
是的,你是对的,这个类没有包含在jar中。所以我认为你必须利用那里的东西。无论如何,这个类非常简单,源代码在这里:SecurityMockMvcConfigurers
只需将代码复制到您自己的类中,就完成了。
https://stackoverflow.com/questions/36824973
复制相似问题