So stellen Sie eine Kriegsdatei in Tomcat 7 bereit

346

Ich habe die sample.warDatei in das webappsVerzeichnis von Tomcat kopiert und kann darauf zugreifen localhost:8080.

Wie wird Tomcat es nun bereitstellen? Ich meine, muss ich es im Browser öffnen? Wie kann ich auf die Anwendung zugreifen?

nazar_art
quelle

Antworten:

325

Sie können auf Ihre Anwendung zugreifen von: http://localhost:8080/sample

Das Bereitstellen oder erneute Bereitstellen von War-Dateien erfolgt standardmäßig automatisch. sample.warÜberprüfen Sie nach dem Kopieren / Überschreiben der Datei Ihren webappsOrdner auf einen extrahierten Ordner sample.

Wenn es nicht ordnungsgemäß geöffnet wird, überprüfen Sie die Protokolldateien (z. B. tomcat / logs / catalogina.out) auf Probleme bei der Bereitstellung.

Bozho
quelle
7
Was ist, wenn der WAR "ROOT.war" heißt? Wo finde ich diesen KRIEG?
Kevin Meredith
5
Was ist, wenn ich meine sample.war auf localhost bereitstellen möchte: 8080 / etwas anderes?
Koray Tugay
15
Sie können dies in META-INF / context.xml
Bozho
5
Die META-INF / context.xml ist die in tomcat \ conf \ context.xml? Oder sollte es in meiner Anwendung sein, die ich bereitstelle?
Koray Tugay
2
es kann an beiden Orten sein. Ich bevorzuge es, innerhalb der Anwendung zu sein
Bozho
89

Schritt 1. Hier stelle ich pos.war bereit. Gehen Sie zuerst zum Ordner "tomcat webapps" und fügen Sie ihn ein

Geben Sie hier die Bildbeschreibung ein

Schritt 2. Gehen Sie zum Ordner tomcat-> bin und starten Sie tomcat, indem Sie auf startup.bat klicken

Schritt 3. Gehe zum Browser, schreibe localhost: Port- / Projektname, z. localhost: 8080 / pos (hier läuft mein Kater auf Port 8080)

Erledigt....

Geben Sie hier die Bildbeschreibung ein

Ferdous Wahid
quelle
Vielen Dank! Außerdem musste ich Berechtigungen für meine neu installierte Tomcat-Verzeichnisstruktur festlegen, damit meine WAR extrahiert und Protokolldateien generiert werden konnten.
Anthony De Souza
59

Sie müssen nur Ihre Kriegsdatei in Webanwendungen ablegen und dann Ihren Server starten.

es wird bereitgestellt.

Andernfalls können Sie Tomcat Manager auch als Webfront verwenden, um Ihren Krieg remote hochzuladen und bereitzustellen.

Jigar Joshi
quelle
1
Leider funktioniert es nicht! Möchten Sie meine spezifische Kriegsdatei testen?! Bitte laden Sie "linshare-core-1.8.4-without-SSO.war" von " forge.linshare.org/projects/linshare/files "
herunter
@ Mr.H Ende des Protokolls, wenn Sie den Server nach dem Platzieren des Krieges starten, werden Sie feststellen, warum es nicht funktioniert
Jigar Joshi
1
"Wenn das Host-AutoDeploy-Attribut" true "ist, versucht der Host, Webanwendungen nach Bedarf dynamisch bereitzustellen und zu aktualisieren, z. B. wenn eine neue .WAR-Datei in der appBase abgelegt wird. Damit dies funktioniert, muss der Host über Hintergrundinformationen verfügen Verarbeitung aktiviert, dies ist die Standardkonfiguration. "
haltunbay
50

Manuelle Schritte - Windows

  1. Kopieren Sie die .war-Datei (zB: prj.war) nach %CATALINA_HOME%\webapps( zB : C: \ tomcat \ webapps).

  2. Lauf %CATALINA_HOME%\bin\startup.bat

  3. Ihre .war-Datei wird automatisch in einen Ordner mit demselben Namen (ohne Erweiterung) extrahiert (z. B. prj).

  4. Gehen Sie zu %CATALINA_HOME%\conf\server.xmlund nehmen Sie den Port für das HTTP-Protokoll. <Connector port="8080" ... />. Der Standardwert ist 8080 .

  5. Greifen Sie auf die folgende URL zu:

    [<protocol>://]localhost:<port>/folder/resourceName

    (Eg: localhost:8080/folder/resourceName)

Versuchen Sie nicht, auf die URL ohne das zuzugreifen, resourceNameda dies nicht funktioniert, wenn keine Datei wie "oder" index.htmlkein URL-Muster wie " /" oder " /*" in web.xml vorhanden ist .

Die verfügbaren Hauptpfade sind hier: [<protocol>://]localhost:<port>/manager/html(zB :) http://localhost:8080/manager/htmlund sie haben truein der Spalte "Laufen".


Verwenden des UI-Managers:

  1. Gehe zu [<protocol>://]localhost:<port>/manager/html/(normalerweise localhost:8080/manager/html/)

    Dies ist auch über [<protocol>://]localhost:<port>> Manager App ) möglich.

    Wenn du bekommst:

    403 Zugriff verweigert

    Gehen Sie zu %CATALINA_HOME%\conf\tomcat-users.xmlund überprüfen Sie, ob Sie eine Zeile wie diese aktiviert haben:

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. Im Deploy Abschnitt IST - Datei deploy Abschnitt, klicken Sie auf Durchsuchen ... .

    Durchsuchen bereitstellen

  3. Wählen Sie die .war-Datei aus (z. B. prj.war) und klicken Sie auf Bereitstellen .

  4. Im Abschnitt Anwendungen sehen Sie den Namen Ihres Projekts (z. B. prj).
ROMANIA_engineer
quelle
20

Zusätzlich zu den bereits erwähnten Möglichkeiten ( Löschen der War-Datei direkt in das Webapps- Verzeichnis) können Sie War-Dateien auch über den Browser bereitstellen, wenn Sie die Tomcat Manager-Anwendung installiert haben. Um zum Manager zu gelangen, navigieren Sie zum Stammverzeichnis des Servers (in Ihrem Fall localhost: 8080) und wählen Sie "Tomcat Manager" aus (an dieser Stelle müssen Sie den Benutzernamen und das Kennwort für einen Tomcat-Benutzer mit "manager" kennen -). Rolle sind die Benutzer in tomcat-users.xml in der conf definiert-Verzeichnis der Tomcat-Installation). Scrollen Sie von der Startseite nach unten, bis Sie den Teil "Bereitstellen" auf der Seite sehen, auf dem Sie auf "Durchsuchen" klicken können, um eine WAR-Datei auszuwählen, die von Ihrem lokalen Computer bereitgestellt werden soll. Nachdem Sie die Datei ausgewählt haben, klicken Sie auf Bereitstellen. Nach einer Weile sollte der Manager Sie darüber informieren, dass die Anwendung bereitgestellt wurde (und wenn alles gut gelaufen ist, gestartet).

Hier finden Sie eine längere Anleitung und weitere Anweisungen auf den Tomcat 7-Dokumentationsseiten.

esaj
quelle
4
Die managerRolle in Tomcat 7 ist jetzt manager-gui. Ich wurde von diesem gebissen.
SpliFF
2
Das Löschen der .war-Datei in Webanwendungen hat bei mir nicht funktioniert, und es gab keine Anzeichen für einen Fehler in den Protokollen. Dies vom Tomcat Manager aus zu tun, hat den Trick getan. Keine Ahnung, warum die erste Methode fehlgeschlagen ist
xverges
15

Es gibt zwei Möglichkeiten:

  1. Entweder können Sie eine Hot-Bereitstellung durchführen (Hot-Bereitstellung bedeutet Bereitstellung, wenn der Server ausgeführt wird).
  2. Oder Sie können eine Kaltbereitstellung durchführen (Kaltbereitstellung bedeutet Bereitstellung, wenn der Server gestoppt ist).

Verwenden Sie einfach die Tomcat Manager-Konsole für die Konsolenbereitstellung oder kopieren Sie einfach Ihre Anwendung und fügen Sie sie in den Webapp-Ordner des Tomcat_home-Verzeichnisses Ihres Servers ein.

Hinweis: Wenn Ihre War-Dateigröße mehr als 52 MB ( der Standardkonfigurationswert) beträgt , müssen Sie zwei kleine Änderungen an der Datei web.xml der Manager-Anwendung Ihres Webapp-Ordners vornehmen (die Manager-Anwendung wird standardmäßig von Apache Tomcat bereitgestellt bei der Installation des Servers).

  • Wechseln Sie zur Datei web.xml der Manager-Anwendung (z. B. unter /tomcat7/webapps/manager/WEB-INF/web.xml).

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>

    Erhöhen Sie die Größe, indem Sie die Werte für <max-file-size>und <max-request-size>gemäß Ihren Anforderungen eingeben.

Shailesh Saxena
quelle
10

Das hat bei mir funktioniert:

  1. Erstellen Sie Ihre Kriegsdatei (mysite.war) lokal.
  2. Benennen Sie es lokal in etwas anderes als .war um, wie mysite.www
  3. Laden Sie mysite.www in das Verzeichnis webapps hoch , während tomcat noch ausgeführt wird .
  4. Löschen Sie nach Abschluss des Uploads die vorherige Version mysite.war
  5. Listen Sie das Verzeichnis auf und achten Sie darauf, dass das Verzeichnis / die MySite verschwindet.
  6. Benennen Sie mysite.www in mysite.war um
  7. Listen Sie das Verzeichnis auf und achten Sie darauf, dass die neue / mysite erstellt wird.

Wenn Sie versuchen, die neue Datei als War-Datei hochzuladen, während Tomcat noch ausgeführt wird, wird versucht, sie zu erweitern, bevor alles vorhanden ist. Es wird scheitern. Wenn dies fehlgeschlagen ist, wird es nicht erneut versucht. Wenn Sie also eine WWW-Datei hochladen und dann umbenennen, kann die gesamte War-Datei vorhanden sein, bevor Tomcat sie bemerkt.

Hinweis: Vergessen Sie nicht zu überprüfen, ob der Besitzer der Kriegsdatei Kater ist.

Fred Myers
quelle
2
Dies kann in Ausnahmefällen funktionieren, ist jedoch kein gültiges Verfahren zur Aufhebung der Bereitstellung. mysite.www erstellt einen neuen Kontext, wenn autodeploy = "true" und das Löschen von mysite.war den mysite-Kontext unter verschiedenen normalen Bedingungen löscht. Die beste Referenz ist die Bereitstellung von Tomcat-Webanwendungen .
user250343
4

Wenn Sie tomcat7 unter apt-getLinux installiert haben , stellen Sie Ihre App unter bereit/var/lib/tomcat7/webapps/

z.B.

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

Verfolgen Sie außerdem weiterhin das Tomcat-Protokoll, damit Sie überprüfen können, ob Ihre App tatsächlich Frieden mit Tomcat schließt.

tail -f /var/lib/tomcat7/logs/catalina.out

Die bereitgestellte Anwendung sollte in angezeigt werden http://172.16.35.155:8080/manager/html

betenagupd
quelle
2

1.Erstellen Sie eine Kriegsdatei aus Ihrer Anwendung.
2. Öffnen Sie den Tomcat-Manager und gehen Sie die Seite nach unten.
3. Klicken Sie auf Durchsuchen, um den Krieg bereitzustellen .
4. Wählen Sie Ihre Kriegsdatei. Los geht's!


quelle
2

Führen Sie die folgenden Schritte aus, um die War-Datei über Tomcat bereitzustellen:

  1. Stoppen Sie den Kater. Powershell-> services.msc-> OK-> Apache Tomcat 8.5-> Stop (auf der linken Seite).

Geben Sie hier die Bildbeschreibung ein

  1. Legen Sie die .war-Datei in E: \ Tomcat_Installation \ webapps, dh den Ordner webapps, dh put.war (put.war ist nur ein Beispiel).

Geben Sie hier die Bildbeschreibung ein

  1. Nach dem Starten des Tomcat (um Tomcat Powershell-> services.msc-> OK-> Apache Tomcat 8.5-> Start zu starten)

Sie erhalten einen Ordner in E: \ Tomcat_Installation \ webapps ** put **

Geben Sie hier die Bildbeschreibung ein

Auf diese Weise können Sie Ihre Kriegsdatei in Apache Tomcat bereitstellen.

Deepak Bhavale
quelle
1

Führen Sie die folgenden Schritte aus:

  • Stoppen Sie den Kater
  • Klicken Sie mit der rechten Maustaste auf Projekt und klicken Sie auf "Bereinigen und Erstellen".
  • Gehen Sie zu Ihrem Projektverzeichnis und im Dist-Ordner erhalten Sie eine Kriegsdatei, die Sie auf Ihren Tomcat kopieren
  • webApp-Ordner
  • Starten Sie den Kater
  • Automatisches Extrahieren von Kriegsdateien und Ausführen Ihres Projekts
plaes
quelle
1

Ich habe die Anweisungen im folgenden Link befolgt, es funktioniert für mich. http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. Stoppen Sie Tomcat

  2. Löschen Sie alle Protokolle in tomcat / logs und alle Dateien in tomcat / conf / Catalina / localhost

  3. Entfernen Sie die War-Datei und das von ihr erstellte Verzeichnis (falls vorhanden) aus tomact / webapps

  4. Starten Sie Tomcat

  5. Kopieren Sie die War-Datei erneut in das Verzeichnis webapps, während Sie die Protokolle ansehen

Danach wird ein Auge auf der catalina.xxxx-xx-xx.log das Problem herauszufinden.

Elin
quelle
1
Dies ist kein gültiges Verfahren zum Aufheben der Bereitstellung / Bereitstellung, da es Dateien beeinträchtigt, die ausschließlich von Tomcat verwaltet werden. Die beste Referenz ist Tomcat Web Application Deployment
user250343