Je développe un projet Web Java EE. Lorsque j'essaie d'ajouter une dépendance, ce message d'erreur apparaît. J'utilise Eclipse Kepler.
Une erreur interne s'est produite lors de: "Mise à jour du projet Maven". Java.lang.NullPointerException
Pourriez-vous m'aider? Merci.
J'ai résolu le mien en supprimant le dossier .settings
et le fichier .project
dans le projet, puis en réimportant le projet.
Pour moi, la réponse trouvée sur CodeRanch , par l'utilisateur Maneesh Godbole a fonctionné:
- Fermez Eclipse.
- Naviguez vers votre dossier "workspace"
- Assurez-vous que le réglage sur votre système d'exploitation pour afficher les fichiers cachés est activé
- Identifier et supprimer le répertoire .metadata
- Redémarrer Eclipse
- Projet d'importation
J'ai eu le même problème dans l'un de mes modules.
Lancer "mvn Eclipse: eclipse" dans la console/cmd a résolu le problème pour moi.
Dans notre exemple de ce problème, nous avions des fichiers pom.xml
où la configuration de la cartographie du cycle de vie spécifique à m2e
<pluginManagement>
<plugins>
<plugin>
<groupId>org.Eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
...
n'avait pas la partie <version>1.0.0</version>
. Lorsque vous faites un Maven -> Mettre à jour le projet ..., cela provoque l’exception NullPointerException signalée sans trace de pile. Lors de l'utilisation d'une nouvelle importation ... -> Projets Maven existants, la même exception s'est produite, mais avec une trace de pile qui m'a amené à rechercher ce qui précède.
(Il s’agit du m2e 1.6.1.20150625-2338 dans le Service Release 2 d’Eclipse Luna (4.4.2).)
Au cas où cela aiderait quelqu'un, en plus de supprimer .settings
et .project
, je devais supprimer .classpath
et .factorypath
avant de pouvoir importer le projet avec succès dans Eclipse.
J'utilise:
Eclipse Java EE IDE pour les développeurs Web.
Version: Version Neon.3 (4.6.3) Identifiant: 20170314-1500
Pour moi, le correctif/astuce consistait à supprimer mon référentiel local dans ~/.m2/repository afin de supprimer les dépendances locales et à reconstruire mon projet dans lequel les nouvelles dépendances sont supprimées.
la suppression du référentiel Maven local m'a aidé
Le fichier org.Eclipse.m2e.core.prefs se trouve dans le dossier .settings. Si vous faites face au problème de
An internal error occurred during: "Updating Maven Project". Java.lang.NullPointerException
Supprimez le projet dans Eclipse, puis supprimez le dossier .settings et le fichier .project du projet -> puis réimportez-le.
Cela m'a aidé: Project menu -> Clean... -> clean all projects
Eclipse a un journal des erreurs. Là, vous verrez la trace complète de la pile. Dans mon cas, cela semble être causé par un mauvais fichier jar associé aux bibliothèques Java.util.Zip ne lançant pas d'exception appropriée, juste une exception NullPointerException.
Je rencontrais le même problème dans plusieurs projets et plusieurs espaces de travail. Aucune des solutions que j'ai trouvées en ligne ne fonctionnait pour moi. J'utilise STS et la seule chose qui a fonctionné a été d'aller dans mon répertoire STS et d'ajouter un "-clean" en haut du fichier STS.ini. Vous pouvez ensuite démarrer votre espace de travail et exécuter maven clean sans erreur. (vous pouvez également supprimer la balise -clean du fichier ini afin qu'elle ne soit pas nettoyée à chaque démarrage)
J'espère que ça aide quelqu'un.
J'ai eu le même problème. Aucune des solutions ici n'a fonctionné. Je devais réinstaller complètement Eclipse et créer un nouvel espace de travail. Ensuite cela a fonctionné!
Juste une autre source possible du problème!
J'ai découvert que dans mon cas, c'est le bloc resource
suivant qui l'a causé:
<project>
<build>
<resources>
<resource>
<directory>${basedir}/../some-folder</directory>
<targetPath>outputFolder</targetPath>
</resource>
<resources>
</build>
</project>
Il incluait un dossier du dossier de projet (le projet Eclipse est un sous-dossier du dossier project traité).
Dans mon cas, je pourrais supprimer l'erreur en supprimant le bloc et en le remplaçant par un appel au plug-in Build helper Maven:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<id>my-own-very-cool-id-for-this-step</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${basedir}/../some-folder</directory>
<targetPath>outputFolder</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Aucune des méthodes ci-dessus n'a fonctionné pour moi. Cela peut également être dû à la présence d'une dépendance circulaire dans votre espace de travail Eclipse. Par conséquent, s'il existe d'autres erreurs présentes dans l'un des autres projets de votre espace de travail, essayez de les résoudre, ce problème disparaîtra. Voici comment j'ai éliminé l'erreur.
J'ai rencontré ce même symptôme et aucune des solutions ci-dessus n'était utile. J'ai finalement obtenu une trace du problème en réimportant le projet ear dans Eclipse et j'ai pu le localiser jusqu'au répertoire org.Eclipse.m2e.wtp.MavenDeploymentDescriptorManagement qui tentait de supprimer un répertoire du répertoire temporaire de Windows appelé " .mavenDeploymentDescriptorManagement ", ce qui a provoqué une exception irrationnelle NullPointerException de la méthode Java.io.File.exists (), notamment parce que le code avait déjà réussi à faire la même chose dans une méthode précédente avec la même variable, appelée ensuite fichier.isFile () sans problème.
Le fait de vérifier cela sur le système de fichiers a révélé que le fichier ne pouvait être accédé qu'avec des privilèges d'administrateur. Apparemment, j'avais à un moment donné lancé Eclipse à partir d'une console d'administrateur par erreur… .. À la fin, j'ai créé des fichiers cachés visibles dans Windows Explorer et supprimé le fichier temporaire manuellement, ce qui a résolu le problème.
Dans mon cas, le problème était un conflit de dépendances dérivées qui avaient été utilisées par d’autres dépendances, et certaines de ces versions de dépendances dérivées n’étaient pas disponibles, peut-être parce que certains déploient ce que j’ai oublié de faire car avec la résolution de l’espace de travail, à autre environnement tout a brisé soudainement. Et aussi je travaillais avec des gammes de versions
maven me donnait cette erreur:
Impossible de résoudre les dépendances pour le projet MyProject: MyProject: jar: 1.0.0: Impossible de résoudre le conflit de versions entre Dependency-A: 1.0.1 -> Dependency-B: 1.1.0 -> Dependency-C: 1.0., Dépendance-X: 1.0.1 -> Dépendance-Y: 1.1.0 -> Dépendance-C: 1.0., Dépendance-I: 1.0.1 -> Dépendance-J : 1.1.0 -> Dependency-C: 1.0.
J'ai essayé tout ce qui précède et rien n'a fonctionné, alors ...
LA SOLUTION: Utiliser LATEST comme version dans toutes les dépendances, ainsi maven n'a pas besoin de résoudre toutes les dépendances dans les plages, ce qui doit être utilisé avec précaution, car si vous manquez de déployer l'une des dépendances, la construction échouer
Seulement je vous suggère d'utiliser LATEST si vous travaillez avec vos propres dépendances, sinon dans une version future de tierce partie, vous pourriez trouver des erreurs de compilation ou d'exécution
Le problème fondamental dans mon cas était un conflit de fichier dans le dossier .settings. Ainsi, la suppression du dossier .settings aurait résolu l'erreur Maven, mais je voulais conserver certains de mes fichiers de configuration locaux. J'ai résolu le conflit, puis essayé à nouveau une mise à jour Maven et cela a fonctionné.
Je devais réinstaller Eclipse, supprimer le dossier .m2 et reconstruire les bocaux.
J'ai eu le même problème ... solution à la fin!
ici le journal Eclipse:
Java.lang.NullPointerException
at com.google.appengine.Eclipse.wtp.maven.GaeRuntimeManager.getGaeRuntime(GaeRuntimeManager.Java:85)
at com.google.appengine.Eclipse.wtp.maven.GaeRuntimeManager.ensureGaeRuntimeWithSdk(GaeRuntimeManager.Java:55)
at com.google.appengine.Eclipse.wtp.maven.GaeFacetManager.addGaeFacet(GaeFacetManager.Java:59)
at com.google.appengine.Eclipse.wtp.maven.GaeProjectConfigurator.configure(GaeProjectConfigurator.Java:46)
... cela vient du "plugin appavine maven wtp" qui tente d'obtenir le type d'exécution GAE, mais semble être null ici (... getRuntimeType () -> NPE):
voir classe com.google.appengine.Eclipse.wtp.maven/GaeRuntimeManager.Java
private static IRuntime getGaeRuntime(String sdkVersion) {
IRuntime[] runtimes = ServerCore.getRuntimes();
for (IRuntime runtime : runtimes) {
if (runtime != null && **runtime.getRuntimeType()**.equals(GAE_RUNTIME_TYPE)) {
Ainsi, si vous vérifiez dans Eclipse, Google App Engine est visible, mais lorsque vous le sélectionnez, aucun SDK n’est associé. ...
SOLUTION: En rouge sur la capture d'écran ;-)