我创建了一个war文件并放入tomcat/webapps
。如何使用命令提示符将war文件部署到tomcat?
答案 0 :(得分:30)
此页面上的早期答案是正确的,您可以将WAR文件复制/移动到位并重新启动tomcat,但是它们省略了提及:您必须删除先前展开的资产(来自先前部署的WAR文件),如果有的话在场。
# 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
为您自己的系统修改以下内容:
答案 1 :(得分:27)
首先在tomcat-users.xml中为角色管理器脚本添加用户角色。
然后取消部署当前的应用程序,您可以使用
wget http://username:password@localhost:portnumber/manager/text/undeploy?path=/appname -O - -q
部署
wget http://username:password@localhost:portnumber/manager/text/deploy?path=/appname&war=file:/warpath -O - -q
答案 2 :(得分:5)
为此,我们需要将WAR文件放在Tomcat CATALINA_HOME/WEBAPPS/
目录中。稍后,Tomcat将自动部署并爆炸此WAR文件。
CATALINA_HOME
变量设置为Tomcat目录的路径从命令行中的当前目录复制WAR文件的语法:
copy <your-war-file-name> %CATALINA_HOME%\<your-appBase-name>
示例:
cd C:\MY_WAR_FILE_LOCATION
set CATALINA_HOME="C:\Program Files\Apache\apache-tomcat-7.0.42"
copy MYWARFILE.WAR %CATALINA_HOME%\webapps
注意:如果在Tomcat运行时将WAR文件复制到webapps目录中,则无法识别它。只需重新启动Tomcat即可开始使用Web应用程序。
答案 3 :(得分:1)
您可以使用 wget 或 curl 从命令行部署应用。
使用wget:
wget --http-user=tomcat --http-password=tomcat "http://localhost:8080/manager/text/deploy?war=file:/some/path/SomeWar.war&path=/SomeWar" -O -
但是在wget的情况下,我收到此错误: “无法在上下文路径上部署应用程序...”
所以我用curl解决了:
curl -v -u user:password -T app.war 'http://tomcathost/manager/text/deploy?path=/my-app-path&update=true'
答案 4 :(得分:0)
您可以使用tomcat manager app http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Deploy_A_New_Application_Remotely
部署war文件如果你想从命令提示符,那么我知道
答案 5 :(得分:0)
由于您已将war文件复制到tomcat / webapps,因此只需重新启动tomcat即可部署war文件。
命令提示符:
set tomcatPath=D:\apache-tomcat-7.0.50
call "%tomcatPath%"\bin\catalina.bat **stop**
sleep -m 3000
call "%tomcatPath%"\bin\catalina.bat jpda **start**
答案 6 :(得分:0)
使用httpie,您可以上传和部署战争。
http --auth user:pass PUT http://<tomcatURL>/manager/text/deploy?path=/ < ROOT.war
答案 7 :(得分:0)
我试过了,效果很好
<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
它基于已发布的tomcat管理器API: https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Deploy_A_New_Application_Archive_(WAR)_Remotely