【发布时间】:2021-01-12 03:32:42
【问题描述】:
我不是 Spring Boot Starters 版本方面的专家,并且遇到了问题。我正在尝试使用this spring boot starter 构建我的项目。我需要嵌入式库版本为 5.2.0,正如它在这个 jar 文件的描述中所说的那样。但是当我将此依赖项添加到我的项目中时,我发现嵌入式库版本与我预期的不同。我的 maven 插件显示 5.1.6 版本和我的代码无法编译,因为某些类依赖于 5.2.0 模块中的方法。
还有一件事。在另一个项目中,我添加了相同的依赖项。但没关系,版本与来自 maven 存储库的描述相同。 这两个项目有区别。其中一个带有 spring-boot 版本 2.1.9(不能编译)和另一个 - 2.3.4(whihk 很好用)。当我通过 pom 中的 artefactId 检查包含到启动器库中的版本时 - 它们没问题并且是 5.2.0。
这里是 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>adapters</artifactId>
<groupId>com.alarislabs</groupId>
<version>0.0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>security</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
</dependencies>
我尝试删除所有 maven 依赖项的 m2 repo,然后再次下载,但我仍然有问题。我在 pom.xml 中犯了一个错误?也许我的 IntelliJ 有问题?
【问题讨论】:
-
你应该扩展 Spring boot 父 pom,或者如果你不能(因为你已经扩展了你自己的 parent)那么你应该导入它。 baeldung.com/spring-boot-dependency-management-custom-parent Spring 将为您管理版本。您明确指定
<version>2.2.0.RELEASE</version>的事实基本上是错误的
标签: java spring-boot maven intellij-idea