it-swarm.com.de

Ein interner Fehler ist aufgetreten während: "Aktualisieren des Maven-Projekts". Java.lang.NullPointerException

Ich entwickle ein Java EE-Webprojekt. Wenn ich versuche, eine Abhängigkeit hinzuzufügen, wird diese Fehlermeldung angezeigt. Ich benutze Eclipse Kepler.

Ein interner Fehler ist aufgetreten während: "Aktualisieren des Maven-Projekts". Java.lang.NullPointerException

Könntest du mir helfen? Danke.

enter image description here

82
achref05

Ich löste meine, indem ich den .settings-Ordner und die .project-Datei im Projekt löschte und das Projekt anschließend erneut importierte.

139
user2985381

Für mich arbeitete die Antwort, die ich auf CodeRanch gefunden habe, von Benutzer Maneesh Godbole:

  1. Schließen Sie Eclipse.
  2. Navigieren Sie zu Ihrem Ordner "Arbeitsbereich"
  3. Stellen Sie sicher, dass die Einstellung in Ihrem Betriebssystem zum Anzeigen versteckter Dateien aktiviert ist
  4. Identifizieren und löschen Sie das .metadata-Verzeichnis
  5. Starten Sie Eclipse neu
  6. Projekt importieren 
24
Eel Lee

Ich hatte das gleiche Problem in einem meiner Module.

Durch Ausführen von "mvn Eclipse: eclipse" in der Konsole/cmd wurde das Problem für mich gelöst.

5
user1854278

In unserem Fall dieses Problems hatten wir pom.xml-Dateien, in denen sich die m2e-spezifische Lebenszyklus-Mapping-Konfiguration befand

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.Eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
...

hatte den <version>1.0.0</version>-Teil nicht. Wenn Sie ein Maven -> Update Project ... ausführen, führt dies zu der berichteten NullPointerException ohne Stack-Trace. Bei Verwendung eines neuen Import ... -> Vorhandenen Maven-Projekts trat dieselbe Ausnahme auf, jedoch mit einer Stack-Ablaufverfolgung, die dazu führte, dass ich das Obige fand.

(Dies gilt für m2e 1.6.1.20150625-2338 in Eclipse Luna Service Release 2 (4.4.2).)

3
Marnix Klooster

Falls es jemandem hilft, zusätzlich zum Löschen von .settings und .project, musste ich .classpath und .factorypath löschen, bevor ich das Projekt erfolgreich in Eclipse importieren konnte.

2
ccellist

Ich benutze:

Eclipse Java EE IDE für Webentwickler.

Version: Neon.3 Release (4.6.3) Build-ID: 20170314-1500

Der Fix/Trick für mich bestand darin, mein lokales Repository in ~/.m2/repository zu löschen, um lokale Abhängigkeiten zu entfernen und mein Projekt neu zu erstellen, in dem neue Abhängigkeiten abgebaut werden.

1
Jones Michael

das Löschen des lokalen Maven-Repositorys hat mir geholfen

1
huttraeger

Die Datei org.Eclipse.m2e.core.prefs befindet sich im Ordner .settings. Wenn Sie mit dem Problem konfrontiert sind 

An internal error occurred during: "Updating Maven Project". Java.lang.NullPointerException

Löschen Sie das Projekt aus Eclipse. Löschen Sie dazu den Ordner .settings & .project im Projekt ->, und importieren Sie das Projekt erneut.

1
Jyoti Prakash

Das hat mir geholfen: Project menu -> Clean... -> clean all projects

1
Tony

Eclipse hat ein Fehlerprotokoll. Dort sehen Sie die vollständige Stapelverfolgung. In meinem Fall scheint es durch eine fehlerhafte JAR-Datei verursacht zu sein, die mit den Java.util.Zip-Bibliotheken kombiniert wird, die keine richtige Ausnahme auslösen, nur eine NullPointerException.

1
user1050755

Ich hatte das gleiche Problem in mehreren Projekten und mehreren Arbeitsbereichen. Keine der Lösungen, die ich online gefunden habe, funktionierte für mich. Ich verwende STS und das einzige, was funktionierte, war, in mein STS-Verzeichnis zu gehen und oben in der STS.ini-Datei eine "-clean" hinzuzufügen. Sie können dann Ihren Arbeitsbereich starten und maven clean ohne Fehler ausführen. (Sie können auch das -clean-Tag aus der Ini-Datei entfernen, damit es nicht bei jedem Start sauber wird.)

Hoffe das hilft jemandem. 

0
Justin Doll

Ich hatte das gleiche Problem. Keine der Lösungen funktionierte hier. Ich musste Eclipse komplett neu installieren und einen neuen Arbeitsbereich erstellen. Dann hat es funktioniert!

0
clocksmith

Nur eine weitere mögliche Quelle des Problems! 

Ich habe herausgefunden, dass es in meinem Fall der folgende resource-Block war, der es verursacht hat:

<project>
    <build>
        <resources>
            <resource>
                <directory>${basedir}/../some-folder</directory>
                <targetPath>outputFolder</targetPath>
            </resource>
        <resources>
    </build>
</project>

Es enthielt einen Ordner aus dem Projektordner (das Eclipse-Projekt ist ein Unterordner des versionierten Projektordners). 

In meinem Fall konnte ich den Fehler beheben, indem ich den Block entferne und durch einen Aufruf des Build-Helfer Maven-Plugins ersetze:

<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>
0
Bowi

Keine der oben genannten Methoden funktionierte für mich. Dies kann auch auf die zirkulare Abhängigkeit in Ihrem Eclipse-Arbeitsbereich zurückzuführen sein. Wenn also in einem der anderen Projekte in Ihrem Arbeitsbereich andere Fehler vorhanden sind, versuchen Sie, diese zu beheben, und dieses Problem ist behoben. So habe ich den Fehler behoben.

0
Pranesh

Ich bin auf das gleiche Symptom gestoßen und keine der oben genannten Lösungen war hilfreich. Ich bekam schließlich eine Stapelspur des Problems, indem ich das Ohrprojekt erneut in Eclipse importierte, und konnte dies bis zum org.Eclipse.m2e.wtp.MavenDeploymentDescriptorManagement verfolgen, das ein Verzeichnis im temporären Verzeichnis von Windows mit dem Namen "" löschen wollte. .mavenDeploymentDescriptorManagement ", was zu einer irrationalen NullPointerException von der Java.io.File.exists () - Methode geführt hat, insbesondere weil der Code bereits in einer vorherigen Methode mit derselben Variablen das Gleiche getan und dann file.isFile () ohne aufgerufen hat Problem. 

Das Auschecken im Dateisystem ergab, dass auf die Datei nur mit Administratorrechten zugegriffen werden konnte. Anscheinend hatte ich Eclipse aus Versehen einmal von einer Administratorkonsole aus gestartet. Am Ende habe ich versteckte Dateien im Windows Explorer sichtbar gemacht und die temporäre Datei manuell gelöscht, wodurch das Problem gelöst wurde.

0
guest

In meinem Fall war das Problem ein Konflikt von abgeleiteten Abhängigkeiten, die von anderen Abhängigkeiten verwendet wurden, und einige dieser abgeleiteten Abhängigkeitsversionen waren nicht verfügbar, möglicherweise, weil einige Implementierungen, die ich vergessen habe, weil mit der Auflösung des Arbeitsbereichs alles funktionierte, aber beim Verschieben in eine andere Umgebung brachen alle plötzlich. Und ich habe auch mit Versionsbereichen gearbeitet

maven gab mir diesen Fehler:

Abhängigkeiten für Projekt konnten nicht aufgelöst werden MyProject: MyProject: jar: 1.0.0: Versionskonflikt zwischen Abhängigkeit-A: 1.0.1 -> Abhängigkeit-B: 1.1.0 -> Abhängigkeit-C: 1.0., Abhängigkeit-X: 1.0.1 -> Abhängigkeit-Y: 1.1.0 -> Abhängigkeit-C: 1.0., Abhängigkeit-I: 1.0.1 -> Abhängigkeit-J : 1.1.0 -> Abhängigkeit-C: 1.0.

Ich habe alles oben versucht und nichts hat funktioniert, also ...

DIE LÖSUNG: Verwenden Sie LATEST als Version in allen Abhängigkeiten, damit Maven nicht alle Abhängigkeiten in Bereichen auflösen müssen, die mit Vorsicht verwendet werden müssen. Wenn Sie eine der Abhängigkeiten nicht bereitstellen, wird der Build ausgeführt Scheitern

Ich empfehle nur, LATEST zu verwenden, wenn Sie mit Ihren eigenen Abhängigkeiten arbeiten. Andernfalls können in zukünftigen Versionen von Drittanbietern Kompilierungs- oder Laufzeitfehler auftreten

Das Hauptproblem in meinem Fall war ein Dateikonflikt im Ordner .settings. Wenn Sie den Ordner .settings löschen, wurde der Maven-Fehler behoben. Ich wollte jedoch einige meiner lokalen Konfigurationsdateien behalten. Ich habe den Konflikt gelöst, dann ein neues Maven-Update versucht und es hat funktioniert.

Ich musste Eclipse neu installieren, den .m2-Ordner löschen und die Gläser neu erstellen.

0
Amit

Ich hatte das gleiche Problem ... Lösung am Ende!

hier das Eclipse-Log:

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)

... es kommt von "appengine maven wtp plugin", das versucht, den Typ der GAE-Laufzeit abzurufen, scheint aber hier null zu sein (... getRuntimeType () -> NPE):

siehe Klasse 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)) {

Wenn Sie also Eclipse einchecken, ist Google App Engine sichtbar. Wenn Sie es jedoch auswählen, werden Sie feststellen, dass kein SDK zugeordnet ist ...  preference/Server/Runtime environments

LÖSUNG: Rot auf dem Screenshot ;-)

0
fedevo