我如何计算Gradle中Spring Boot MultiValueMap需要的依赖项?

时间:2018-02-15 22:42:03

标签: java spring spring-boot gradle dependencies

我有一些代码需要访问If Sheets("Menu").ckAL.Value = True Then strCriteria = strCriteria & ", AL" End If If Sheets("Menu").ckAK.Value = True Then strCriteria = strCriteria & ", AK" End If strCriteria = Mid(strCriteria, 2) ActiveSheet.Range("$A$4:$AR$16998").AutoFilter Field:=3, Criteria1:=Array(strCriteria), Operator:=xlFilterValues

我在Windows机器上运行IntelliJ IDEA。我收到了编译错误:

  

“无法访问org.springframework.util.MultiValueMap”。

此错误发生在以下代码行(请求是ClientHttpRequest类型的对象),该文件位于junit测试文件中:

org.springframework.util.MultiValueMap

我根据MultiValueMap(https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/MultiValueMap.html)的文档尝试了以下两个import语句:

String authorization = request.getHeaders().getFirst("Authorization");  

然而,这些不起作用 - 这些陈述的后半部分用红色突出显示。我相信这是因为我在build.gradle中没有正确的依赖项。

这些是我目前拥有的Spring Framework依赖项:

import org.springframework.util;
import org.springframework.util.MultiValueMap;

3 个答案:

答案 0 :(得分:1)

我找到了解决办法!

答案在此页面上显示: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的正确个体依赖,但是使用这个插件它不再是一个问题。

答案 1 :(得分:0)

可能在这里做了太多工作。或者,您可能会面临使您的依赖项略微不同步的风险。

您需要的唯一依赖项是spring-boot-starter,它与您想要的正确spring-core版本具有传递依赖关系。

您可以在build.gradle文件中使用它:

compile'org.springframework.boot:spring-boot-starter:1.5.10.RELEASE'

如果要使用Spring引导的Gradle插件(can be found here),请将所需的Spring Boot版本放入插件部分,并省略依赖项的版本。

答案 2 :(得分:-1)

此行将位于班级的顶部

import org.springframework.util.MultiValueMap;

虽然我不一定熟悉这个确切的库,但在mvnrepository上查看告诉我在build.gradle文件中需要这样的内容

repositories {
    mavenCentral() 
}

dependencies {
    compile group: 'org.springframework', name: 'spring-core', version: '5.0.3.RELEASE'
}