web-dev-qa-db-fra.com

Comment déployer un fichier war sur Tomcat à l'aide d'une invite de commande?

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?

29
user3607853

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:

  • Chemin de votre fichier WAR compilé (à déployer)
  • Chemin de vos fichiers Tomcat webapps
  • Comment redémarrer Tomcat (c'est-à-dire s'il n'est pas installé en tant que service)
30
JellicleCat

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
26
Ankit Gupta

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.

  • Remplacez Active Directory par l'invite de commande par l'emplacement de votre fichier WAR.
  • Définissez la variable CATALINA_HOME sur le chemin du répertoire Tomcat
  • Copier les fichiers WAR

Syntaxe 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.

5
GughaG

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**
0
Rob

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'
0
Marco C.

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

  • Stop Tomcat (arrêt catalina.bat)
  • copier la guerre sur la webapp
  • redémarrer Tomcat (exécution de catalina.bat)
0
Maas

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
0
atomsfat