2013-08-16 7 views
5

in Eclipse, wenn Maven aktiviert ist, gibt es eine pom.xml-Datei mit Maven zu bauen. Und Eclipse hat auch eine "Build automatisch" -Option im Projekt-Menü.die "Build automatisch" und Maven in Eclipse

Wird das "Build automatisch" automatisch mit Maven erstellt, oder wir müssen das Häkchen entfernen, denn wenn Maven aktiviert ist, brauchen wir das Eclipse Build Build System nicht mehr?

Antwort

8

Eclipse m2e wird die Plugin-Ziele laufen, für die es Lifecycle-Bindungen hat. Ich weiß es nicht (und ich bin nicht in der Lage zu finden), welche spezifische Phasen laufen, aber aus Erfahrung weiß ich, dass:

  • für den Normalbetrieb zumindest kompilieren ausgeführt wird.
  • für die Durchführung von Tests (z. B. JUnit Testfälle), mindestens Test-Compile wird ausgeführt.

Beachten Sie, dass es nicht alle möglichen Bindungen hat, und that problem um gehen manchmal problematic. In der Regel sollte es also beiden gut gelingen, und tatsächlich werden einige Inkongruenzen vermieden, da der kompilierte Zustand beim Codieren nicht aktualisiert wird.

jedoch wenn Sie Plugins , die von M2e ignoriert werden, sollten Sie tatsächlich heruntergefahren „Build automatisch“ off wenn Sie müssen sicher sein Build korrekt abgeschlossen ist.

Wenn Sie beispielsweise Maven Properties plugin verwenden und keine Bindung angegeben haben und m2e ignorieren möchten, verfügen Sie über Ressourcen mit Werten, die außerhalb der Whack-Eigenschaft liegen. Das Problem kann insbesondere auftreten, wenn Sie einen "Maven" -Build (z. B. aus dem Kontextmenü mit der rechten Maustaste) erstellen und dann Ihren Code ändern und speichern.

2

Sie brauchen beide. Hier ist, warum:

Eclipse integrierten Compiler wird für inkrementelle Kompilierung verwendet - zum Beispiel wenn Sie Ihren Code speichern. Die vollständige Erstellung des Projekts erfolgt jedoch mithilfe der Maven- und Projektkonfiguration in pom.xml.

+3

Das ist nicht wahr - 'm2e' führt tatsächlich die Lifecycle-Bindungen aus, die es hat, es ist nicht nur inkrementelle Code-Kompilierung. Ein triviales Beispiel ist hier die Ressourcenfilterung. –