J'ai créé un fichier war et mis dans Tomcat/webapps
. Comment déployer un fichier war sur Tomcat à l'aide d'une invite de commande?
Les réponses précédentes sur cette page indiquent correctement que vous pouvez copier/déplacer le fichier WAR en place et redémarrer Tomcat, mais elles omettent de mentionner quelque chose: vous devez supprimer les actifs précédemment explosés (du fichier WAR précédemment déployé), le cas échéant.
# My Tomcat webapps are found at /var/lib/Tomcat6/webapps
# The application I wish to deploy is the main (ROOT) application
webapps_dir=/var/lib/Tomcat6/webapps
# Remove existing assets (if any)
rm -rf $webapps_dir/ROOT
# Copy WAR file into place
cp example_dir/ROOT.war $webapps_dir
# Restart Tomcat
service Tomcat6 restart
Modifiez les éléments suivants pour votre propre système:
Ajoutez d’abord un rôle utilisateur dans Tomcat-users.xml pour le script de gestionnaire de rôles.
Ensuite, pour annuler le déploiement de l'application actuelle, vous pouvez utiliser
wget http://username:password@localhost:portnumber/manager/text/undeploy?path=/appname -O - -q
Déployer
wget http://username:password@localhost:portnumber/manager/text/deploy?path=/appname&war=file:/warpath -O - -q
Pour ce faire, nous devons placer le fichier WAR dans le répertoire Tomcat CATALINA_HOME/WEBAPPS/
. Plus tard, Tomcat déploiera et explosera automatiquement ce fichier WAR.
CATALINA_HOME
sur le chemin du répertoire TomcatSyntaxe pour copier le fichier WAR du répertoire actuel dans la ligne de commande:
copy <your-war-file-name> %CATALINA_HOME%\<your-appBase-name>
Exemple:
cd C:\MY_WAR_FILE_LOCATION
set CATALINA_HOME="C:\Program Files\Apache\apache-Tomcat-7.0.42"
copy MYWARFILE.WAR %CATALINA_HOME%\webapps
Remarque: Si un fichier WAR est copié dans le répertoire webapps pendant l'exécution de Tomcat, il ne sera pas reconnu. Redémarrez simplement Tomcat pour commencer à utiliser l'application Web.
Comme vous avez déjà copié le fichier war sur Tomcat/webapps, il vous suffit de redémarrer Tomcat pour déployer le fichier war.
Invite de commande:
set tomcatPath=D:\Apache-Tomcat-7.0.50
call "%tomcatPath%"\bin\catalina.bat **stop**
sleep -m 3000
call "%tomcatPath%"\bin\catalina.bat jpda **start**
Vous pouvez utiliser wget ou curl pour déployer une application depuis la ligne de commande.
Avec wget:
wget --http-user=Tomcat --http-password=Tomcat "http://localhost:8080/manager/text/deploy?war=file:/some/path/SomeWar.war&path=/SomeWar" -O -
Mais dans mon cas avec wget, j'ai reçu cette erreur: "Echec du déploiement de l'application sur le chemin du contexte ..."
J'ai donc résolu en utilisant curl:
curl -v -u user:password -T app.war 'http://tomcathost/manager/text/deploy?path=/my-app-path&update=true'
Vous pouvez déployer le fichier war à l'aide de l'application Tomcat Manager, http://Tomcat.Apache.org/Tomcat-7.0-doc/manager-howto.html#Deploy_A_New_Application_Remotely
Si vous voulez de l'invite de commande, alors comme je le sais
En utilisant httpie vous pouvez télécharger et déployer la guerre.
http --auth user:pass PUT http://<tomcatURL>/manager/text/deploy?path=/ < ROOT.war