【问题标题】:Eclipse showing "Maven Configuration Problem: Unknown"Eclipse 显示“Maven 配置问题:未知”
【发布时间】:2019-10-06 08:30:11
【问题描述】:

我刚刚在eclipse中导入了我在https://start.spring.io/创建的一个spingboot项目。 我尝试导入两次,但问题仍然存在。 已经尝试进行 mvn update , mvn clean install ,尝试清理项目但这些都不起作用。 它在 pom xml 文件的第一行中存在问题。 我不知道如何解决这个问题。 我正在使用 java 11

这是完整的 POM 文件:

<?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">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.in28minutes.springboot.rest.example</groupId>
<artifactId>spring-boot-2-jpa-with-hibernate-and-h2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot-2-jpa-with-hibernate-and-h2</name>
<description>Demo project for Spring Boot</description>

<properties>
    <java.version>11</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

【问题讨论】:

标签: java maven spring-boot


【解决方案1】:

这似乎是 Eclipse 中的一个错误: https://bugs.eclipse.org/bugs/show_bug.cgi?id=547340

您可以通过将 maven jar 插件版本从 3.1.2 临时降级到 3.1.1 来解决此问题。将此添加到 properties 部分:

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

所以你的 pom 看起来像这样:

<?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">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.in28minutes.springboot.rest.example</groupId>
<artifactId>spring-boot-2-jpa-with-hibernate-and-h2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot-2-jpa-with-hibernate-and-h2</name>
<description>Demo project for Spring Boot</description>

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

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
</project>

更新: 已发布修复程序。单击帮助 > 检查 Eclipse/STS 中的更新并安装最新的 m2e 连接器。

【讨论】:

  • 谢谢!顺便问一下,你是怎么发现这是一个bug?
  • @RomuloSorato 没问题 ;) 我也使用 eclipse,所以我创建了一个虚拟项目来重现该问题,创建后我立即遇到了该问题。尝试了 maven 构建和应用程序运行,它运行完美,所以我得出结论它可能是 eclipse 中的一个错误。我在 eclipse bugzilla 中搜索了“maven”,发现了一个类似的问题
  • 太好了!再次感谢。
  • m2e 的“更新”不走运,运行最新的可下载 eclipse,m2e 里程碑 1.12.0.20190529-1915,它仍然无法正常工作
  • 啊,它是 m2e-wtp,从这个里程碑下载站点更新使其工作 download.eclipse.org/m2e-wtp/milestones/1.4。您可能想用大写字母添加它:)
【解决方案2】:

第 1 步:

降级到&lt;maven-jar-plugin.version&gt;3.1.1&lt;/maven-jar-plugin.version&gt;

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

第 2 步 更新项目

  • 右键单击您的项目
  • 转到 Maven
  • 点击更新项目
  • 清理并重新运行您的应用程序


【讨论】:

  • 应用程序运行正常,但是第1行的错误仍然存​​在
  • 不要降级任何东西。 Eclipse“更新”也没有帮助我。相反,手动安装 Eclipse 错误 547340 的修复程序:Eclipse &gt; Help &gt; Install New Software &gt; Work with= https://download.eclipse.org/m2e-wtp/signed/mavenarchiver/0.17.4/, &lt;Enter&gt;, m2e extensions= Y &gt; Next...
【解决方案3】:
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>

在 pom.xml 的 properties 标签下添加这个依赖

【讨论】:

    【解决方案4】:

    对于 spring boot 项目我添加了这个:

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

    【讨论】:

    • 虽然此代码可能会解决问题,including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的答案以添加解释并说明适用的限制和假设。 From Review
    【解决方案5】:

    得到完全相同的错误。 Gybandi 的解决方案对我有用。

    • 在 Maven 中更新项目> 菜单不会使错误图标消失。

    • 做了 3.1.1,然后做了一个 maven -> 从上下文菜单更新项目。 红色 (x) 图标现已消失 :-)。但如果可能的话,我真的不想降级我的 Maven 插件。

    • 从 eclipse 市场更新 m2e-connector 的建议 不起作用。我在 m2e-connector 条目中看到的只是“学习 更多”链接,将我带到它的网页。没有什么比 出现“升级/更新”按钮。

    【讨论】:

    • 您也可以尝试帮助 > 安装新软件,从“使用”组合框中选择“所有可用站点”并在搜索中输入 m2e,然后在“m2e 连接器用于 mavenarchiver pom 属性”下检查m2e 扩展
    • @gybandi 谢谢!可悲的是,我遇到了与 G.A. 相同的问题。当然降级到 v3.1.1 是可行的,但我不想这样做。现在,当我尝试检查更新时,它说没有。试图从 Eclipse Market 获得它也不会让我更进一步。我正在使用 Eclipse 版本:2019-03 (4.11.0),内部版本号:20190314-1200。我会给 Eclipse 2019-06 RC1,因为我手头有一些时间。
    • @Igor 您是否尝试过“安装新软件”部分而不是 Eclipse 市场/检查更新?有时市场对我也不起作用
    • @gybandi 我实际上并没有尝试过 Marketplace - 只是从帮助菜单中“安装新软件”......很奇怪......没有代理(因为它来自我的家用电脑)。 .
    【解决方案6】:

    如果您使用 spring boot 将版本降级为 2.1.4.RELEASE 而不是 2.1.5.RELEASE 它将解决问题

    【讨论】:

      【解决方案7】:

      我正在使用 eclipse photon 并且遇到了类似的问题。不想在我的 pom 中添加 maven-jar-plugin.version,因为我不希望我的代码库包含特定于 IDE 的代码。

      我注意到 eclipse photon 的 m2e 版本是 1.5,这导致了问题。我卸载了所有 m2e 连接器,重新启动了我的 eclipse,然后使用下面的 url 手动安装了 m2e 连接器

      https://download.eclipse.org/technology/m2e/releases/1.13/

      这就像一个魅力

      【讨论】:

        【解决方案8】:

        添加包装标签解决了我的问题。不需要降低 maven-jar 插件版本。

        <modelVersion>4.0.0</modelVersion>
        <packaging>war</packaging>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.2.RELEASE</version>
            <relativePath/>
        </parent>
        

        【讨论】:

          【解决方案9】:

          我通过将版本从 2.1.6 更改为 2.1.3 解决了这个问题

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

          我将其更改为 2.1.3,因为在以下路径的本地 m2 存储库中显示了两个可用版本

          .m2\repository\org\springframework\boot\spring-boot-starter-parent

          【讨论】:

            猜你喜欢
            • 2011-03-20
            • 2011-10-07
            • 2014-04-24
            • 2016-05-16
            • 1970-01-01
            • 1970-01-01
            • 2023-04-01
            • 2012-03-14
            • 1970-01-01
            相关资源
            最近更新 更多