Question

Existe-t-il un moyen de déployer un fichier war spécifique sur le serveur Tomcat? Je souhaite le faire sans utiliser l'interface Web.

Était-ce utile?

La solution

Copiez simplement le fichier war dans le répertoire $ TOMCAT_HOME / webapps /. Tomcat déploiera le fichier war en l'explosant automatiquement. FYI - Si vous le souhaitez, vous pouvez directement mettre à jour le répertoire explosé, ce qui est utile pour le développement.

Autres conseils

Il existe plusieurs façons de déployer une application Web Tomcat:

  • Passer dans $ CATALINA_HOME / webapps, comme cela a déjà été mentionné.
  • Utilisation de vos scripts de construction pour un déploiement automatique via l'interface de gestionnaire (fournie avec Tomcat). Voici les deux manières
    • for Maven : utilisez le plugin tomcat. Vous n'avez pas besoin de l'inclure dans pom.xml , il vous suffit d'émettre l'objectif mvn tomcat: deploy , le plug-in est inclus dans Maven 2. Cela suppose plusieurs valeurs par défaut expliquées dans la documentation , vous pouvez configure le comportement dans le pom.xml . D'autres objectifs vous permettent de déployer l'archive éclatée etc .
    • pour Ant : quelque chose comme ceci:
    <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>

Tous ces éléments nécessiteront une configuration utilisateur Tomcat. Il vit $ CATALINA_BASE / conf / tomcat-users.xml , mais comme vous savez déjà comment utiliser l'interface Web, je suppose que vous savez comment configurer les utilisateurs et les mots de passe.

Nous n'utilisons jamais l'interface Web, nous ne l'aimons pas. Les guerres sont abandonnées dans les applications Web et server.xml est modifié selon les besoins. Vous devez le faire rebondir si vous éditez le fichier server.xml, mais le fichier war doit être récupéré automatiquement. En général, nous supprimons d’abord le répertoire étendu de la guerre pour éviter toute confusion quant à l’origine des composants.

vous pouvez éditer le fichier conf / server.xml et ajouter une entrée comme celle-ci pointant vers votre répertoire war

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

SINON  vous pouvez copier votre fichier .WAR dans le répertoire webapps de tomcat.

Le Tomcat Client Deployer Package semble être ce que vous devez déployer sur un serveur distant à partir de la ligne de commande. De la page:

  

Il s’agit d’un package qui peut être utilisé pour valider, compiler, compresser en .WAR et déployer des applications Web sur des serveurs Tomcat de production ou de développement. Il est à noter que cette fonctionnalité utilise le gestionnaire Tomcat et que, par conséquent, le serveur cible Tomcat devrait être en cours d'exécution.

Vous pouvez également essayer cette script de ligne de commande pour la gestion de tomcat appelé tomcat-manager. Il nécessite Python et communique avec l’application de gestionnaire incluse dans tomcat via HTTP. Vous pouvez faire des choses à partir d'un shell * nix comme:

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

et:

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top