Je viens d'importer un projet spingboot que j'ai créé dans https://start.spring.io/ dans Eclipse. J'ai essayé d'importer deux fois, mais le problème persiste. Déjà essayé de faire une mise à jour mvn, une installation propre mvn, essayé de nettoyer le projet mais rien de tout cela n'a fonctionné. C'est un problème dans la première ligne du fichier pom xml. Je ne sais pas comment résoudre ce problème. J'utilise Java 11
Voici le fichier POM complet:
<?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>
Cela ressemble à un bogue dans Eclipse: https://bugs.Eclipse.org/bugs/show_bug.cgi?id=54734
Vous pouvez résoudre ce problème en rétrogradant temporairement la version du plugin maven jar de 3.1.1 à 3.1.2. Ajoutez ceci à la section propriétés:
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
Ainsi, votre pom ressemblera à ceci:
<?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>
Mise à jour: Un correctif a été publié. Cliquez sur Aide> Rechercher les mises à jour dans Eclipse/STS et installez le dernier connecteur m2e.
Étape 1:
Rétrograder vers <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<properties>
<Java.version>X</Java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
Étape 2 Mettre à jour le projet
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
Ajoutez cette dépendance dans pom.xml sous la balise properties
si vous utilisez Spring Boot, rétrogradez la version en 2.1.4.RELEASE
au lieu de 2.1.5.RELEASE
cela résoudra le problème
J'utilise le photon Eclipse et j'ai eu un problème similaire. Je ne voulais pas ajouter le maven-jar-plugin.version dans mon pom car je ne veux pas que ma base de code contienne du code spécifique à l'IDE.
Ce que j'ai remarqué, c'est que le photon Eclipse a la version m2e de 1.5 qui cause le problème. J'ai désinstallé tous les connecteurs m2e, redémarré mon Eclipse, puis installé manuellement le connecteur m2e à l'aide de l'URL ci-dessous
https://download.Eclipse.org/technology/m2e/releases/1.13/
cela a fonctionné comme un charme
Obtient exactement la même erreur. La solution de Gybandi a un peu fonctionné pour moi.
La mise à jour du projet dans le menu Maven> ne fait rien pour faire disparaître l'icône d'erreur.
A fait le 3.1.1 puis a fait un projet maven -> update à partir du menu contextuel. L'icône rouge (x) a dispar :-). Mais je ne veux vraiment pas rétrograder mon plugin maven, si possible.
La suggestion de mettre à jour m2e-connector à partir du marché Eclipse ne fonctionne pas. Tout ce que je vois contre l'entrée du connecteur m2e est un lien "en savoir plus" qui m'amène à sa page Web. Rien de tel que le bouton "upgrade/update" présent.
L'ajout d'une étiquette d'emballage a résolu mon problème. Pas besoin de baisser la version du plugin 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>
Pour le projet de démarrage de printemps, j'ai ajouté ceci:
<properties>
<Java.version>1.8</Java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
J'ai résolu ce problème en changeant la version de 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>
J'ai changé cela en 2.1.3 car il y avait deux versions disponibles dans le référentiel m2 local au chemin ci-dessous
.m2\repository\org\springframework\boot\spring-boot-starter-parent