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?
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)
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
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.
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)
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**
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'