为啥从 Spring Boot 版本 2.1.4 更改为 2.1.5 会出现未知配置 Maven 错误?

Posted

技术标签:

【中文标题】为啥从 Spring Boot 版本 2.1.4 更改为 2.1.5 会出现未知配置 Maven 错误?【英文标题】:Why does change from Spring boot version 2.1.4 to 2.1.5 gives unknown configuration Maven error?为什么从 Spring Boot 版本 2.1.4 更改为 2.1.5 会出现未知配置 Maven 错误? 【发布时间】:2019-10-02 21:19:24 【问题描述】:

我已经安装了 Eclipse(实际上是 Spring Tool Suite)。它与 Maven 一起提供。我已经创建了 Spring Boot 启动项目。 Maven 正在下载所有依赖项,一切正常。

最近,我创建了一个新项目。这一次,我注意到 pom.xml 中有错误 问题窗口(在 STS 中)显示如下:

Description Resource    Path                    Location   Type
Unknown     pom.xml     /TestSessionAttribute   line 1     Maven Configuration Problem

我注意到 spring boot 版本是 2.1.5(之前是 2.1.4)。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

我继续更新了项目(Maven > 更新项目),并选中了“强制更新快照/发布”。这并没有解决问题。 我确实看到了

spring-boot-2.1.5.RELEASE.jar

在 m2 存储库中。

我回去将版本更改为 2.1.4,然后是 Maven > 更新项目,错误就消失了。

为什么我在版本为 2.1.5 时收到 Maven 错误?

【问题讨论】:

你跑过mvn install吗? 请先尝试在命令行上构建,不要只安装mvn clean package ...看看是否没有错误发生... @ChristopherSchneider 由于 Maven 带有 STS,我没有做任何与 maven 相关的事情。我对maven不太熟悉。我不确定在安装 Eclipse/STS 时是否单独安装了 maven。 Maven 不是通过 Eclipse 安装的。如果您在 Eclipse 中有 STS,它只在 Eclipse 中。如果您在我建议在此处下载之外需要它:maven.apache.org/download.cgi 和安装请参阅maven.apache.org/install.html @khmarbaise 我是这么认为的。由于它作为插件工作,我不确定我是否想再次单独安装 maven。我去看看maven插件是否需要更新。 【参考方案1】:

我不知道为什么坏了。我猜这是 eclipse 项目中的一个损坏的设置。

我只知道怎么解决:

    在 pom.xml 中保留 2.1.5.RELEASE 关闭日食 运行mvn clean eclipse:clean eclipse:eclipse 启动 Eclipse

所以所有与 eclipse 相关的设置都将被重新创建。然后它按预期工作。之后,您甚至可以“降级”spring 版本,它仍然可以正常工作。

【讨论】:

最新版STS自带Maven插件。由于没有单独安装 maven,我不确定是否可以从命令行运行 mvn。我确实看到,当我从 2.1.3 发送到 2.1.4 时,我没有看到任何错误。但是当我从 2.1.4 转到 2.1.5 时,我看到了错误。 2.1.5 可能缺少一些依赖项。我还在研究它。 这并不能解决我的问题。如果我这样做,eclipse 抱怨配置已过时,一旦我从 eclipse 刷新 maven 配置,错误又回来了。【参考方案2】:

根据this 链接,您可以通过将 maven-jar-plugin 降级到 3.1.1(从 3.1.2)来解决此问题。我可以确认该修复程序适用于我自己的项目。

将以下条目添加到您的 pom 以解决该问题。

<properties>
    <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>

official bug entry for eclipse 也存在。

【讨论】:

是的,做到了。谢谢 难以置信...它对我有用。我花了1个小时试图修复它!非常感谢 完美运行! (在 Maven->更新项目之后...)谢谢。 看起来 2.1.6 也被 eclipse 破坏了.. 得到一堆错误.. :( 在通过 spring initializr 生成的 2.2.5 项目中遇到了同样的问题。在 pom.xml 中添加上述内容解决了问题。

以上是关于为啥从 Spring Boot 版本 2.1.4 更改为 2.1.5 会出现未知配置 Maven 错误?的主要内容,如果未能解决你的问题,请参考以下文章

为啥当我尝试将我的 Spring Boot 应用程序推送到 heroku 时它返回“致命错误编译:无效目标版本:11”

spring boot为啥引入两个mapping会报错

为啥我在 Spring Boot 中从服务器端配置并做出反应时出现 CORS 错误?

为啥 H2 进行 spring-boot 测试,但它会将数据写入我的本地 mysql 数据库?

为啥在 Spring Boot 项目中使用 Flyway 时撤消迁移不起作用?

为啥我的 H2 数据库/Spring Boot 应用程序会出现 JdbcSQLException(非十六进制字符)?