我刚刚导入了在https://start.spring.io/中创建的Eclipse的spingboot项目。 我尝试导入两次,但是问题仍然存在。 已经尝试执行mvn更新,mvn全新安装,试图清除项目,但是这些都没有用。 这是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>
答案 0 :(得分:10)
这似乎是蚀中的错误: 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连接器。
答案 1 :(得分:3)
对于spring boot项目,我添加了以下内容:
<properties>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
答案 2 :(得分:2)
我正在使用蚀光子,并且遇到了类似的问题。不想在我的pom中添加maven-jar-plugin.version,因为我不希望我的代码库包含特定于IDE的代码。
我注意到,蚀光子的m2e版本为1.5,这引起了问题。我卸载所有m2e连接器,重新启动eclipse,然后使用以下网址手动安装m2e连接器
https://download.eclipse.org/technology/m2e/releases/1.13/
这就像一种魅力
答案 3 :(得分:2)
添加包装标签解决了我的问题。不需要降低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>
答案 4 :(得分:1)
答案 5 :(得分:1)
正在获取完全相同的错误。 Gybandi的解决方案对我有用。
在Maven中更新项目>菜单并没有使错误图标消失。
先执行3.1.1,然后从上下文菜单中执行maven->更新项目。 红色(x)图标现已消失 :-)。但是,如果可能的话,我真的不想降级我的Maven插件。
从Eclipse市场更新m2e连接器的建议 不起作用。我在m2e-connector条目上看到的只是“学习 更多”链接将我带到其网页。 出现“升级/更新”按钮。
答案 6 :(得分:1)
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
在属性标签下的pom.xml中添加此依赖项
答案 7 :(得分:1)
我通过将版本从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
答案 8 :(得分:0)
如果您使用Spring Boot将版本降级到2.1.4.RELEASE
而不是2.1.5.RELEASE
,它将解决问题