Wie man ein Maven-Projekt in Tomcat von Eclipse aus ausführt
Ich bin mit einer multi-level-maven-Projekt. Es hat webapps verpackt, wie der KRIEG, die davon abhängen, Komponenten, gepackt als JAR-Dateien
Meisten der code-änderungen, die ich tun, gehören zu den JAR-Dateien.
Testen Sie die änderungen, die ich brauche zum packen der JAR-und der KRIEG und die Bereitstellung extern in tomcat.
Versuchte ich mit sysdeo-tomcat-maven-eclipse-plugin, aber es hat nicht funktioniert wie erwartet.
Bitte beraten, wenn jemand eine Lösung hat für dieses problem
Dank
Gaurav
InformationsquelleAutor der Frage | 2009-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mithilfe des Maven-Eclipse-Integration-plugin
Ich Sie erleben Probleme, die ich gefunden habe, ist es hilfreich, zu versuchen das Kommandozeilen-tool mvn für die Fehlersuche. Als Faustregel gilt, wenn Sie ohne Fehler erstellt Befehlszeile, dann können Sie ihn ausführen in Eclipse (aber tomcat hat auch Probleme, so dass Sie vielleicht brauchen, um saubere Arbeit directory und Cache löschen jeder einmal in eine Weile).
Andere als die, die ich wirklich empfehlen die Verwendung des Maven-Eclipse-Integration-plugin! Ich benutze die version von Sonatypes plugin repo http://m2eclipse.sonatype.org/sites/m2e. Es ist eine neuere integration auf der eclipse-repo, aber es funktioniert anders, und ich habe noch nicht die Zeit gehabt, es zu untersuchen, nutzt noch.
Wenn Ihr Projekt ist modular aufgebaut, kann es hilfreich sein, das setup der root-Projekt als ein einfaches Projekt (kein Java , kein Java EE). Importieren Sie dann die sub-Projekte als einfache Java-Projekte (kein Java-EE). Sie können immer noch aktivieren, dependency management, und führen Sie den build-targets durch das Projekt.
Müssen Sie nur wählen Sie das Submodule erforderlich, durch Ihr gezieltes Projekt(en), die die Abhängigkeiten.
Für jedes Projekt baut war-Dateien aktivieren Facetten für java ee und konfigurieren context-root unter die weitere Konfiguration zur Verfügung (dies kann nur einmal ausgeführt werden, warum die option fehlt in der Abbildung, so machen Sie es richtig).
Dann die setup-Bereitstellung Baugruppe für Ihre facated Projekte. Alle Geschwister Projekte (aktiv in Ihr workspace) sollte Hinzugefügt werden, Bereitstellung, Montage, und Sie müssen auch hinzufügen, die build path-Eintrag für maven-Abhängigkeiten dem deployment-assembly. Sobald dies eingerichtet ist, können Sie die "Run on server" - Direktive, um starten Sie Ihren web-apps.
Ich finde es nützlich, um immer in der reinen java-Modus bei der Kodierung von maven-Projekten. Alle smart views in Eclipse nur verdunkelt, was passiert hinter den kulissen, erhalten Sie Zugang zu den spezifischen Editoren durch die Aktivierung facated Projekte sowieso!
InformationsquelleAutor der Antwort Martin
Benutze ich die eclipse webtools plugin und führe meine Tomcat. Es hat einen veröffentlichen-Methode veröffentlicht, die die Gläser ebenso (wenn nicht, Sie nur reinigen Sie das Verzeichnis und veröffentlichen).
In der pom-Datei, sollten Sie die folgenden Zeilen, so dass die webtools werden automatisch unterstützt
InformationsquelleAutor der Antwort David Rabinowitz
Mithilfe des Maven-Eclipse-Integration-plugin und Web-Runner
Setup ein facated Projekt (bereits beschrieben in einer anderen Antwort), verwenden Sie die neueste Maven-Eclipse-Integration-plugin. Dieses sollte sich an der update-site von Ihrem eclipse-version unter Zusammenarbeit. In meinem Fall Indigo -
http://download.eclipse.org/releases/indigo
(/Zusammenarbeit/Maven-Integration für Eclipse).Als alternative zu den eingebauten server, die oft nicht über die Aktualisierung Arbeitsbereich Abhängigkeiten im deployment-assembly (für tomcat) ich würde empfehlen, mit Sonatype Web-Application Launcher Webby das ist ähnlich wie die maven-Richtlinie Steg:ausführen des maven-jetty-plugin. Sie finden das plugin unter sonatypes-update-site für das plugin M2e Webby -
http://m2eclipse.sonatype.org/sites/m2e-webby/
. Sobald dieses plugin installiert ist, können Sie die Konfiguration Auszuführen, die und führen Sie die web-app von einer auto-bauen befindet sich in{project}/target/m2e-webby
.Empfehle ich die Konfiguration von einer der (Standard -) für embedded-jetty-Container, die als Anbieter für das servlet-api. Wenn bestimmte Laufzeiten müssen geprüft werden, in einen externen Behälter können leicht konfiguriert werden, indem Sie zu einem server-home-Verzeichnis und die Auswahl der entsprechenden Anbieter .
Die Nachteile, die ich angetroffen habe sind ziemlich minor:
InformationsquelleAutor der Antwort Martin
Erhalten Sie " kann Nicht zum Lesen TLD "META-INF/c.tld" aus der JAR-Datei "file:..g/workspace/.Metadaten/.plugins Fehler mit der aktuellen version von m2eclipse plugin mit der oben genannten Konfiguration.
Müssen Sie löschen servlet-api.jar und jsp-api.jar aus der implementierten Projekte lib/Ordner zu beheben, die oben genannten Fehler und benutzerdefinierte setup-build-Konfiguration, so dass die 2 Dateien nicht kopiert werden das deployment-Verzeichnis.
InformationsquelleAutor der Antwort surajz