Frage

Gibt es eine Möglichkeit, eine bestimmte WAR-Datei auf Tomcat-Server zu implementieren? Ich möchte, dies zu tun, ohne die Web-Schnittstelle.

War es hilfreich?

Lösung

Kopieren Sie einfach den Krieg-Datei in das $ TOMCAT_HOME / webapps / Verzeichnis. Tomcat wird die WAR-Datei, indem es automatisch explodiert es bereitstellen. FYI - Wenn Sie möchten, dass Sie Updates direkt auf das Explosions Verzeichnis machen, die für die Entwicklung nützlich ist

.

Andere Tipps

Es gibt mehrere Möglichkeiten, einen Tomcat Webapp zu implementieren:

  • Dropping in $ CATALINA_HOME / webapps, wie bereits erwähnt wurde.
  • Arbeiten mit dem Build-Skripte automatisch über die Manager-Schnittstelle zu implementieren (das kommt mit Tomcat). Hier sind die beiden Möglichkeiten,
    • für Maven : Die Kater-Plugin verwenden. Sie brauchen es nicht in pom.xml aufzunehmen, geben nur das Ziel mvn tomcat:deploy, ist das Plug-in Maven enthalten 2. Diese mehrere Ausfälle im Dokumentation , können Sie configure das Verhalten in der pom.xml. Es gibt noch andere Ziele, die Sie als Explosions Archiv lassen bereitstellen etc .
    • für Ant : so etwas wie folgt aus:
    <property name="manager.url"   value="http://localhost:8080/manager"/>
    <property name="manager.username" value="manager"/>
    <property name="manager.password" value="foobar"/>
    <!-- Task definitions -->
    <taskdef name="deploy"   classname="org.apache.catalina.ant.DeployTask"/>
    <taskdef name="list"     classname="org.apache.catalina.ant.ListTask"/>
    <taskdef name="reload"   classname="org.apache.catalina.ant.ReloadTask"/>
    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
    <!-- goals -->
    <target name="install" depends="compile" description="Install application to servlet container">
        <deploy url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"
                localWar="file://${build.home}"/>
    </target>
    <target name="list" description="List installed applications on servlet container">
        <list    url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"/>
    </target>
    <target name="reload" depends="compile" description="Reload application on servlet container">
        <reload url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"/>
    </target>
    <target name="remove" description="Remove application on servlet container">
        <undeploy url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"/>
    </target>

Alle diese benötigen Sie eine Tomcat-Benutzerkonfiguration haben. Er lebt $CATALINA_BASE/conf/tomcat-users.xml, aber da Sie wissen bereits, wie das Web-Interface zu verwenden, ich nehme an, Sie wissen, wie die Benutzer und Passwörter zu konfigurieren.

Wir haben nie das Web-Interface verwenden, es nicht mögen. Die Kriege sind in den webapps fallen gelassen und server.xml bearbeitet wie nötig. Sie müssen es auf die Beine, wenn Sie die server.xml bearbeiten, aber der Krieg Datei automatisch aufgenommen werden sollte. Wir löschen im Allgemeinen das Verzeichnis aus dem Krieg erweiterte zuerst so gibt es keine Verwirrung aus, wo die Komponenten kamen.

können Sie die conf / server.xml bearbeiten und einen Eintrag wie dieser zeigt auf Ihren Krieg Verzeichnis hinzufügen

    <Context path="/strutsDisplayTag" 
        reloadable="true" 
        docBase="C:\work\learn\jsp\strutsDisplayTag" 
        workDir="C:\work\learn\jsp\strutsDisplayTag\work" />

ELSE  Sie können Ihre .WAR-Datei in das Verzeichnis webapps von tomcat kopieren.

Die Tomcat Client Deployer Package , was Sie zu einem Remote-Server über die Befehlszeile implementieren sein müssen aussieht. Von der Seite:

  

Dies ist ein Paket, das verwendet werden kann, um zu validieren, zu kompilieren, zu .WAR komprimiert und Webanwendungen zur Produktion oder Entwicklung Tomcat-Server bereitstellen. Es soll beachtet werden, dass diese Funktion den Tomcat Manager verwendet und als solche das Ziel Tomcat-Server soll ausgeführt werden.

Sie können auch versuchen, diese Kommandozeilen-Skript für die Verwaltung von tomcat tomcat-Manager genannt. Es erfordert Python, und im Gespräch mit der Manager-Anwendung enthielt mit tomcat über HTTP. Sie können Dinge aus einem * nix-Shell wie:

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp

und

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top