【发布时间】:2019-03-18 19:09:26
【问题描述】:
当包含最新的 Spring Hateoas Starter 时,Maven 正在下载不正确的 Spring Hateoas。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
<version>2.2.0.M1</version>
</dependency>
当我运行 maven 依赖树时,我得到以下信息:
> mvn dependency:tree | grep hateoas
INFO] +- org.springframework.boot:spring-boot-starter-hateoas:jar:2.2.0.M1:compile
[INFO] | +- org.springframework.hateoas:spring-hateoas:jar:0.25.1.RELEASE:compile
这似乎不正确,因为 POM 将 1.0.0.M1 列为要包含的版本: Spring Hateoas Starter POM
我已尝试清除缓存并手动删除缓存,然后运行 mvn -U。结果总是一样的。
附加信息:
Apache Maven 3.5.4 (Red Hat 3.5.4-4)
Maven home: /usr/share/maven
Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.fc29.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.20.14-200.fc29.x86_64", arch: "amd64", family: "unix"
<repositories>
<repository>
<id>repository.spring.milestone</id>
<name>Spring Milestone Repository</name>
<url>http://repo.spring.io/milestone</url>
</repository>
</repositories>
【问题讨论】:
-
让我猜猜您的所有其他依赖项(或父项)都指向 Spring Boot 2.1 或 2.0。
-
没错。 Spring Boot Parent 是 2.1.3.RELEASE,我应该在最初的问题中包含这些信息吗?
-
永远不要混合不同版本的框架的 jar。要么坚持使用 2.1,要么全部移至 2.2,但不要混合使用。这会导致各种奇怪的问题。
-
会调查一下,谢谢,我的印象是主要版本迭代需要注意的地方。
-
2.1 和 2.2 不同。 2.1 使用 Spring 5.1 , 2.2 使用 Spring 5.2 ,这只是您将引入的差异之一。因此,最终您将混合更多不同框架的罐子,从而导致更多问题。如前所述,无论框架如何,都不要混合不同版本框架的 jar。
标签: spring-boot maven-3 spring-hateoas