Unterschied zwischen Eclipse-Build-Projekt und Maven-Befehl Kompilieren
Ist Eclipse "Projekt Erstellen" - Befehl gleich wie die Maven Befehl "mvn compile"? Beide tun im Grunde das gleiche tun?
Wenn ja, dann warum brauche ich dazu eine "Build Project" in STS nach dem ausführen von "mvn clean install", um die Anwendung auszuführen, ohne irgendwelche Probleme? Läuft "mvn clean install" sollte bereits kompiliert das Projekt. Sollte nicht Erfrischend, das Projekt in STS werden genug, um es auszuführen?
Wenn Keine, dann ist Eclipse build anders, weil der Java-compiler implementiert die Java Language Specification bauen die Klassen? Aber die folgenden Apache Maven link sagt, dass der Standard-compiler ist javax.tools.JavaCompiler (übrigens ich bin die mit Java 1.6).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die kurze Antwort ist keine, maven-build-und eclipse-build sind nicht das gleiche.
Grundsätzlich, eclipse hat seinen eigenen Weg, Dinge, die wenig zu tun mit maven. Auf der grundlegendsten Ebene, Eclipse nicht nur Java-Compilierung mit eigenem Java-compiler (Teil des Eclipse JDT).
Eine präzise Antwort darauf, wie Sie sich unterscheiden, ist schwer zu geben, die situation ist ziemlich Komplex, und es hängt genau davon ab, was das für ein Zeug (Eclipse-plugins), das Sie installiert haben.
Um eine möglichst nahe Annäherung so, dass das, was Eclipse tut, ähnelt am meisten zu, was maven auf der Kommandozeile installieren Sie m2e (maven-eclipse-tooling).
M2E versucht, um Ihre Eclipse-IDE ' s Verhalten 'emulieren' so eng wie möglich zu maven-die commandline Verhalten. Es tut dies, indem Sie in Ihrem eclipse-Projekt. Zum Beispiel, die Einstellung der Quelle, classpath usw. basierend auf den maven poms. Das funktioniert ziemlich gut, wenn Ihr poms nicht 'ausgefallene' Dinge (D. H. mit einigen nicht so üblich, maven-plugins).
Wenn Sie maven-plugins in Ihrem pom zu tun "spezielle" Dinge wie vielleicht erzeugen code, oder was auch immer, dann m2e hat einen plugin-Mechanismus, über den maven-plugin-Autoren definieren eine entsprechende eclipse-plugin, das "lernen eclipse', wie die gleiche Sache zu tun.
Kann das haarig werden, weil nicht alle maven-plugins haben entsprechende Eclipse-plugins, und selbst wenn Sie es tun, sind Sie nicht automatisch für Sie installiert, in Ihrer Instanz von Eclipse.
Wenn Sie haben nicht die plugins "beibringen eclipse', über Ihre pom-plugin. M2e wird Ihnen eine Fehler über Lebenszyklus-mapping. Dies ist ein Hinweis darauf, dass die m2e-und maven-commandline kann nicht 'das gleiche tun' für Ihr Projekt, und seine bis zu Ihnen, es zu beheben, irgendwie (. e.g durch die Installation der entsprechenden Eclipse - 'project configurator").
Ich weiß nicht, Maven, aber Eclipse build unterscheidet sich von einem Projekt das ANT-build, damit sollte der Fall mit Maven.
Eclipse hat seinen eigenen internen inkrementellen build-Mechanismus.
Eclipse-internen build (Eclipse-Build Project oder Build All oder Clean) und Maven/Ant-build-im Grunde tun die gleiche Sache, die bedeutet, dass Sie sowohl zum kompilieren des Quellcode-Datei. Nun, ein offensichtlicher Unterschied ist, dass Eclipse-internen build nicht generieren, OHR, KRIEG etc. für Sie Dateien, die Sie mit Hilfe von ANT/Maven.
Wenn ANT/Maven, Sie geben Sie class-path mit dort jeweiligen Elemente und das gleiche denken geschieht in Eclipse durch konfigurieren von build-Pfad, so dass, wenn Eclipse nicht intern aufzubauen, dann werden diese JAR-oder Laufzeit-Bibliotheken referenziert werden können.
Bezüglich compiler, wenn Sie bauen mit Eclipse, dann wird es seine eigene interne javac-compiler der Java-version von Eclipse ist verpackt mit. Finden Sie die Java-version mit Fenster > Bevorzugung > Java - > Compiler. Während Sie bei Ihrem eigenen Projekt zu bauen, wird es finden Sie Ihre JAVA_HOME.