[英]How do I work out what dependency I need for Spring Boot MultiValueMap in Gradle?
我有一些需要访问org.springframework.util.MultiValueMap
代码。
我在Windows计算机上运行IntelliJ IDEA。 我收到编译错误:
“无法访问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的正确个人依赖关系,但是使用此插件不再是问题。
您可能在这里做了太多的工作。 否则,您将冒使您的依赖项稍微不同步的风险。
您唯一需要的依赖项是spring-boot-starter
,它具有对您想要的正确spring-core
版本的传递性依赖项。
您可以在build.gradle文件中使用它:
compile'org.springframework.boot:spring-boot-starter:1.5.10.RELEASE'
如果要将Gradle插件用于Spring Boot( 可在此处找到 ),请将所需的Spring Boot版本放入插件部分,并忽略依赖项上的版本。
这条线将在您课程的顶部
import org.springframework.util.MultiValueMap;
虽然我不一定熟悉这个确切的库,但是查看mvnrepository告诉我,您在build.gradle
文件中需要这样的东西
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.springframework', name: 'spring-core', version: '5.0.3.RELEASE'
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.