4 Stimmen

Bereitstellung einer War-Datei im WTP(Eclipse)-Tomcat-Server

Ich habe ein Maven Build Java Projekt. Der Name meiner War-Datei lautet: test-1.0-SNAPSHOT.war Ich verwende das M2E-Plugin in Eclipse. Ich habe Target ausgeführt mvn-Paket .

Server als Tomcat Version 7 in eclipse indigo 3.7 hinzugefügt. Server gestartet. Aber meine War-Datei wurde nicht auf dem Server bereitgestellt.

Ich habe versucht, indem ich mit der rechten Maustaste auf den Tomcat-Server klicke und "Hinzufügen, Entfernen..." auswähle.

Wie kann ich meine War-Datei im eclipse WTP Tomcat Server einsetzen? Muss ich ein Maven-Target ausführen?

11voto

Alexander Pogrebnyak Punkte 43705

Stellen Sie sicher, dass Sie "Maven Integration for WTP" in Ihrer Eclipse-Instanz installiert haben.

Prüfen Sie zunächst, ob es verfügbar ist über

  • Fenster->Einstellungen->Maven->Discovery->Katalog öffnen

Wenn dies aus irgendeinem Grund nicht funktioniert, können Sie die WTP-Integration von dieser Update-Site erhalten (das ist die Version, die ich derzeit verwende):

https://repository.sonatype.org/content/repositories/forge-sites/m2eclipse-wtp/0.13.0/S/0.13.0.20110623-0455

Diese Integration bildet den Lebenszyklus des maven-war-plugin in die m2e-Architektur ab.

Sobald Sie die WTP-Integration installiert haben, müssen Sie Eclipse neu starten. Sobald es neu gestartet ist, klicken Sie mit der rechten Maustaste auf Ihr Web-App-Projekt und wählen Sie: Maven->Projektkonfiguration aktualisieren...

Außerdem würde ich raten, zu diesem Zeitpunkt einen sauberen Build durchzuführen.

Zu guter Letzt sollten Sie Ihre Tomcat-Serverkonfiguration löschen und neu erstellen (ich weiß nicht, warum, aber ich musste dies einige Male tun, als ich auf m2e umstieg).

5voto

Prasanna Talakanti Punkte 2324

Ich denke, Eclipse erkennt Ihr Projekt nicht als Web-App, um dies zu bestätigen

  • Öffnen Sie die J2ee-Perspektive in Ihrem Eclipse. Wenn Sie den Projektordner Ihrer Anwendung öffnen, sollten Sie den (Deployment Descriptor) enter image description here

  • Wenn Sie es nicht sehen, ist Ihre Anwendung keine Webanwendung, soweit Eclipse betroffen ist.

  • Ich habe dies für den Fall gesehen, dass Sie ein Maven-Kommandozeilenprojekt importiert/erstellt haben

  • Um dies zu beheben

  • Wählen Sie Projekt ==> Eigenschaften ==> Projektfacetten ==> stellen Sie sicher, dass das Kontrollkästchen Dynamisches Webmodul aktiviert ist

    enter image description here

  • Wenn Sie das tun, wird der lokale Tomcat-Server Ihre Anwendung hinzufügen, wenn Sie Projekte hinzufügen oder entfernen

1voto

Asokan Punkte 89

Ich denke, Eclipse erkennt Ihr Projekt nicht als Web-App, konvertieren Sie Ihr Projekt in Web-App durch den Befehl mvn eclipse:eclipse -Dwtpversion=2.0 und versuchen, in Eclipse konfiguriert Tomcat bereitstellen, wird es funktionieren.

0voto

Nicola Musatti Punkte 17153

Wenn Sie Eclipse 3.5 oder höher haben, sollten Sie sicherstellen, dass Sie sowohl die m2eclipse ( m2e für 3.7) installiert und sein WTP Add-on. Mit diesen sollten Sie Ihre Konfiguration nicht von Hand ändern müssen.

Haben Sie versucht, Ihr Projekt von der Kommandozeile aus zu erstellen und es von Hand in Tomcat einzusetzen?

Übrigens, haben Sie dies gelesen Wikipediapost ? Er ist zwar schon etwas älter, aber vielleicht noch relevant.

0voto

supernova Punkte 2864

Ich füge 2 Cent zu Prasannas wunderbarer Lösung hinzu. Ich erkannte, dass der Aufbau von Maven War-Dateien "mvn Paket" war nur die Erstellung von .war-Datei, aber Eclipse war nicht abholen, dass Krieg, sondern war die Bereitstellung seiner einige interne Version von es ist app war.

Ich habe festgestellt, dass Server > Browse Deployment Location in der Eclipse-Server-Ansicht es zu einem abstrakten Ort wie " C:\Programs\workspaceSTS.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps "

Ich konnte sehen, wie meine explodierte App bereitgestellt wurde, aber sie hatte keinen /classes-Ordner, sondern nur begrenzte Dateien.

Mit Prasanna's Methode erkannte ich, dass Eclipse jetzt vollständig explodierte .war jetzt bereitstellen. Dies geschah also, weil ich die Facetten auf Dynamisches Web-Modul tatsächlich ausgefüllt hat "R-Klick Projekt > Eigenschaften > Bereitstellungsversammlung " Diese Web Deployment Assembly Fenster teilt eclipse nur mit, was eingesetzt werden soll und was nicht. Auch wenn Ihr Projekt NICHT als dynamisches Webmodul eingerichtet ist und Sie die "Web Deployment Assembly"-Werte richtig konfigurieren, wird Eclipse die App problemlos auf Tomcat/Server bereitstellen. enter image description here

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X