Comment utiliser l'invite de commande pour déployer un fichier de guerre sur tomcat?

j'ai créé un fichier de guerre et mis dans tomcat/webapps. Comment utiliser l'invite de commande pour déployer un fichier war vers tomcat?

28
demandé sur peterh 2014-07-30 09:57:07

7 réponses

les réponses précédentes sur cette page sont correctes que vous pouvez copier/déplacer le fichier WAR en place et redémarrer tomcat, mais ils omettent de mentionner quelque chose: vous devez supprimer les actifs précédemment explosés (à partir du fichier WAR déployé précédemment) si certains sont présents.

# 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

Modifier les informations suivantes pour votre propre système:

  • Chemin d'accès de votre compilé dans le fichier WAR (pour être déployé)
  • chemin de vos fichiers tomcat webapps
  • Comment redémarrer tomcat (c'est à dire si il n'est pas installé en tant que service)
29
répondu JellicleCat 2014-11-24 18:32:58

tout d'Abord ajouter un rôle d'utilisateur dans tomcat-users.xml pour rôle de gestionnaire de script.

alors pour désactiver l'application courante vous pouvez utiliser

wget http://username:password@localhost:portnumber/manager/text/undeploy?path=/appname -O - -q

Pour déployer

wget http://username:password@localhost:portnumber/manager/text/deploy?path=/appname&war=file:/warpath -O - -q
25
répondu Ankit Gupta 2015-05-06 06:50:07

pour ce faire, nous avons besoin de placer le fichier WAR à L'intérieur du Tomcat CATALINA_HOME/WEBAPPS/ répertoire. Plus tard, Tomcat se déploiera automatiquement et explosera ce fichier de guerre.

  • Changer de répertoire actif de l'invite de commande de votre GUERRE emplacement du fichier
  • Set CATALINA_HOME variable au chemin du répertoire Tomcat
  • copier les fichiers de guerre

syntaxe pour copier le fichier de guerre à partir du répertoire courant dans la commande ligne:

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

Note: Si un fichier WAR est copié dans le répertoire webapps pendant que Tomcat est en cours d'exécution, il ne sera pas reconnu. Il suffit de redémarrer Tomcat pour commencer à utiliser l'application web.

3
répondu GughaG 2014-07-30 07:39:06

vous pouvez déployer le fichier war en utilisant tomcat manager app, http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Deploy_A_New_Application_Remotely

Si vous voulez à partir de l'invite de commande, alors que je sais

  • Arrêt de tomcat (catalina.chauve-souris stop)
  • copier la guerre à la webapp
  • redémarrer tomcat (catalina.chauve-souris run)
0
répondu Maas 2014-07-30 06:08:17

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
répondu atomsfat 2016-07-12 22:00:40

Comme vous l'avez déjà copié le fichier war dans 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
répondu Rob 2017-09-26 13:00:13

Vous pouvez utiliser wget ou curl 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: "Échec du déploiement de l'application sur le chemin du contexte ..."

donc j'ai 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
répondu Marco C. 2018-09-18 12:33:47