webentwicklung-frage-antwort-db.com.de

Maven clean + build führt dazu, dass das Projekt in Eclipse liegt

Wir erhalten in unserer Entwicklungsumgebung ein sehr seltsames Verhalten, das mit allen unseren Entwicklern unter verschiedenen Betriebssystemen übereinstimmt.

Wir haben mehr als 20 Maven (3.0.4) -Projekte in der Entwicklungsumgebung. Alle Projekte sind offene Projekte in Eclipse (Indigo) mit Sonatyp m2e (0.12.0) und behandeln Abhängigkeiten wie üblich. (m2e 1.0 macht uns mehr probleme als lösungen)

Von allen unseren mehr als 20 Projekten gibt es ein Projekt , das sich seltsam verhält. Bei der Ausführung von mvn clean install für dieses Projekt, obwohl Maven erfolgreich übergeben wird , werden 4 Java-Dateien (in der Unit) erzeugt testet, ob es einen Unterschied macht), um Fehler in Eclipse anzuzeigen.

Die Fehler sind vom Typ "SomeNameOfClass kann nicht in einen Typ aufgelöst werden", obwohl die Datei geöffnet wurde und F3 (Open-Deklaration) in der fehlerhaften Klassenreferenz gedrückt wurde, um die Klasse ohne Probleme zu finden.

mvn clean ist das Problem, wenn wir nur mvn install ausführen, passiert dies nicht.

Eclipse's Project -> Clean löscht die Fehler und alles ist in Ordnung.

Dies ist nicht ein betriebliches Problem, das mich eigentlich daran hindert zu arbeiten oder ähnliches, ich kann es lösen einfach durch das Reinigen in Eclipse, ich hasse es jedes Mal und ich kann rote Xs nicht leiden in meinen Projekten auch wenn sie keine Wirkung haben.

Ich bin wirklich sehr neugierig, warum das überhaupt passiert, warum gerade diese 4 Klassen? warum warum warum :)

21
Enrico

Das gleiche Problem hatten wir schon vor einer Weile. Wir hatten mehr als 20 Projekte, die die gleiche Art von Fehlern zeigten. Aus der von uns durchgeführten Untersuchung schlussfolgerten wir, dass Eclipse bei Ausführung von maven clean install die Klassendateien aus den Augen verliert und der Meinung ist, dass einige von ihnen undefiniert sind. Die Lösung, die wir hatten, besteht darin, in der Befehlszeile Folgendes auszustellen:

mvn Eclipse:clean
mvn clean install
mvn Eclipse:eclipse
22
GETah

Dies ist jetzt möglich, um anzugeben, dass Projekte nach dem Abschluss unter Refresh in Run configuration eine Aktualisierung benötigen. Sie müssen Refresh resources upon completion überprüfen und unten auswählen, welches Verhalten.

0