我有一些需要访问org.springframework.util.MultiValueMap
的代码。
我在Windows计算机上运行IntelliJ IDEA。我收到编译错误:
"Cannot access org.springframework.util.MultiValueMap".
此错误在junit测试文件中的以下代码行(request是类型为ClientHttpRequest的对象)上发生:
String authorization = request.getHeaders().getFirst("Authorization");
我已经根据MultiValueMap(https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/MultiValueMap.html)的文档尝试了以下两个导入语句:
import org.springframework.util;
import org.springframework.util.MultiValueMap;
但是这些都不起作用-这些语句的后半部分以红色突出显示。我相信这是因为我在build.gradle中没有正确的依赖项。
这些是我目前拥有的Spring Framework依赖项:
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.ws:spring-ws-core")
compile('org.springframework.security:spring-security-web:5.0.2.BUILD-SNAPSHOT')
compile('org.springframework.security:spring-security-config:5.0.2.BUILD-SNAPSHOT')
compile('org.springframework.security:spring-security-config:5.0.2.BUILD-SNAPSHOT')
compile("org.springframework.security.oauth:spring-security-oauth2:2.0.8.RELEASE")
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.springframework.ws:spring-ws-test')
最佳答案
我找到了解决方法!
答案是在此页面上的:https://spring.io/blog/2015/02/23/better-dependency-management-for-gradle
似乎将gradle用于Spring-Boot的依赖项管理可能会出现问题,因为在依赖项部分中需要这么多行,就像我上面列出的那样。
我按照该页面上的说明进行操作,将以下几行插入到build.gradle中:
apply plugin: "io.spring.dependency-management"
dependencyManagement {
imports {
mavenBom 'io.spring.platform:platform-bom:1.1.1.RELEASE'
}
}
我的代码现在可以编译了。我仍然不知道在哪里可以找到build.gradle的正确个人依赖关系,但是使用此插件不再是问题。
关于java - 如何计算Gradle中Spring Boot MultiValueMap需要什么依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48817500/