Erreur m2e dans MavenArchiver.getManifest ()

100

Je vois une erreur dans mon STS et je ne sais pas comment le déboguer. En cherchant, je ne vois que de vagues références à l'erreur et aucune solution.

L'erreur est:

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>line 1 Problème de configuration Maven

Question : Quelqu'un peut-il donner des suggestions sur la façon d'obtenir plus d'informations sur le problème afin de le déboguer davantage ou des solutions possibles?

Peut-être un peu plus de contexte sur la fonctionnalité de la méthode. Le javadoc associé à la MavenArchiver.getManifest()méthode n'est pas très détaillé et il n'y a aucune trace de pile que je vois. J'ai essayé plusieurs actualisations et mises à jour du projet et des projets associés, y compris la compensation de mon repo m2 local.

Infos STS :

  • Version: 3.7.3.RELEASE
  • ID de construction: 201602250940
  • Plateforme: Eclipse Mars.2 (4.5.2)

infos m2e :

  • Version: 1.6.2.20150902-0002
Scottmf
la source
Il serait probablement nécessaire de voir le pom.xml pour diagnostiquer le problème. Le code se plaint de la mise en page du fichier pom.xml, et ce n'est pas une erreur dans le logiciel Maven. Vous ne vous attendez donc pas à voir un fichier journal des erreurs. La raison la plus courante que j'ai rencontrée est une erreur typographique dans le contenu des balises ou une discordance entre la balise de début et de fin.
Bradley Ross
1
Le code se compile très bien lorsqu'il est exécuté à partir de la ligne de commande. Je pense que ce serait une erreur s'il y avait une faute de frappe ou une incompatibilité de balise, non?
scottmf
Même si la première réponse à cette question SO a fonctionné pour moi, j'aimerais savoir pourquoi je ne vois que cette erreur et qu'elle n'a pas de contexte. Cela ne dit pas ce qui se passe. il dit juste un nom de méthode "MavenARchiver.getManifest" - pas de texte d'erreur, rien ... même pas là où une exception est levée. Où trouve-t-on l'erreur complète pour tout ce qui ne va pas dans l'éclipse? De tels X rouges nous sont inutiles. À qui était l'idée stupide de simplement imprimer un nom de méthode sous forme de message d'erreur et c'est tout?
Calicoder

Réponses:

196

J'ai rencontré le même problème après mise à jour maven-jar-pluginà sa dernière version (au moment de l' écriture), 3.0.2.
Eclipse a 4.5.2commencé à signaler le pom.xmlfichier avec l' org.apache.maven.archiver.MavenArchiver.getManifesterreur et un projet Maven > Update .. ne le corrigeait pas.

Solution simple: rétrograder vers la version 2.6
En effet une solution possible est de revenir à la version 2.6, une nouvelle mise à jour du projet supprimerait alors toute erreur. Cependant, ce n'est pas le scénario idéal et une meilleure solution est possible: mettre à jour les m2eextensions (intégration Eclipse Maven).

Meilleure solution: mettre à jour les extensions Eclipse m2e
Depuis Aide > Installer un nouveau logiciel .. , ajoutez un nouveau référentiel (via l' option Ajouter .. ), en pointant vers l'URL suivante:

  • https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

Suivez ensuite l'assistant de mise à jour comme d'habitude. Eclipse nécessiterait alors un redémarrage. Ensuite, un autre projet de mise à jour .. sur le projet Maven concerné supprimerait toute erreur et votre build Maven pourrait alors profiter de la dernière maven-jar-pluginversion.


Notes complémentaires
La raison de ce problème est qu'à partir de la version 3.0.0, le composant concerné, le maven-archiveret les associés plexus-archiveront été mis à niveau vers des versions plus récentes, cassant les usages internes (via des réflexions) de l' m2eintégration dans Eclipse. La seule solution est alors de mettre à jour correctement Eclipse, comme décrit ci-dessus.
Notez également: alors qu'Eclipse rapporterait initialement des erreurs, la construction de Maven (par exemple à partir de la ligne de commande) continuerait à fonctionner parfaitement, ce problème n'est lié qu'à l'intégration Eclipse-Maven, c'est-à-dire à l'EDI.

A_Di-Matteo
la source
3
J'ai pu contourner un problème similaire en maven-war-pluginpassant de 3.0.0à 2.6.
Ben Hutchison
1
Je n'ai pas pu accéder au site otto.takari.io, mais j'ai pu obtenir l'extension dehttp://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
azurefrog
3
Pour Eclipse Mars fonctionne correctement: repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/… . Mettez-le dans Installer -> Travailler avec le champ, «Entrée». Vérifiez les extensions m2e dans la liste (un seul choix).
hariprasad
1
Fonctionne également avec "Mars.2".
Pino
16

J'ai trouvé ma réponse! J'ai cherché dans le pom tous les plugins qui dépendent du maven-archiver et j'ai trouvé que le maven-jar-plugin le faisait. Il utilisait la dernière version 3.0.0. Lorsque je suis passé à la version 2.6, cela semble résoudre le problème :-)

Scottmf
la source
14

J'ai eu le même problème avec un projet de démarrage à ressort. la solution était de rétrograder le jar maven-jar-plugin de 3.2 à 2.6. je devais juste ajouter ceci au projet pom:

<properties>        
    <maven-jar-plugin.version>2.6</maven-jar-plugin.version>
</properties>
Ala Messaoudi
la source
11

J'ai eu exactement le même problème. Mon environnement était:

  • Spring STS 3.7.3.RELEASE
  • ID de construction: 201602250940
  • Plateforme: Eclipse Mars.2 (4.5.2)

Les symptômes des problèmes étaient:

  1. Il y avait un indicateur d'erreur rouge sur mon fichier PM. et la description de l'erreur était telle que décrite dans la question initiale posée ici.
  2. Il y avait des problèmes de compilation connus dans plusieurs fichiers Java du projet, mais eclipse ne les montrait toujours pas signalés comme des erreurs dans le volet de l'éditeur ainsi que dans l'arborescence de l'explorateur de projet sur le côté gauche.

La solution (décrite ci-dessus) concernant la mise à jour des extensions m2e a fonctionné pour moi.

Meilleure solution (ma recommandation):

Ravi Rajamiyer
la source
c'était le conflit exact de plugin maven que je souffrais avec Spring STS 3.7.3
ArifMustafa
7

J'ai eu le même problème avec un projet de démarrage à ressort. La solution était de rétrograder la version de dépendance spring-boot-starter-parent de 2.0.0.RELEASE à 1.5.10.RELEASE (vous pouvez passer à n'importe quelle version stable)

de:

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

à

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Saurav
la source
7

J'avais également rencontré le même problème et il a été résolu en changeant la version de 3.2.0 à 2.6 comme indiqué dans l'extrait de code pom.xml ci-dessous

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <warSourceDirectory>src/main/webapp</warSourceDirectory>
        <warName>Spring4MVC</warName>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>
Vaibhav Sharma
la source
4

Mettez à niveau vos extensions m2e au lieu de les rétrograder.

Dans Aide> Installer un nouveau logiciel .., ajoutez un nouveau référentiel (via l'option Ajouter ..)

Spécifiez le nom de votre plugin et ajoutez le chemin http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

une fois l'installation terminée, veuillez redémarrer eclipse et mettre à jour votre projet.

VENKAT S
la source
essayé beaucoup d'URL sans succès, celui-ci m'a sauvé. thnx
Yashar
0

J'ai également rencontré des problèmes similaires, changer la version de 2.0.0.RELEASE à 1.5.10.RELEASE a fonctionné pour moi, veuillez l'essayer avant de rétrograder la version maven

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>  
</dependencies>
Ravindra Dandothya
la source
-1

Suivez les étapes indiquées dans ce lien . Cela a fonctionné pour moi.

Étape - 1 Faites un clic droit sur votre projet dans Eclipse

Étape - 2 Cliquez sur Propriétés

Étape - 3 Sélectionnez Maven dans la liste de gauche.

Étape - 4 Vous remarquerez "pom.xml" dans la zone de texte Profils Maven actifs sur le côté droit. Effacez-le et cliquez sur Appliquer.

Étape - 5 Exécuter en tant que -> Maven clean -> Maven Install

J'espère que ça aide!

Mahan
la source