如何使用命令提示符将war文件部署到tomcat?

时间:2014-07-30 05:57:07

标签: tomcat deployment command war

我创建了一个war文件并放入tomcat/webapps。如何使用命令提示符将war文件部署到tomcat?

8 个答案:

答案 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

为您自己的系统修改以下内容:

  • 已编译的WAR文件的路径(待部署)
  • 您的tomcat webapps文件的路径
  • 如何重启tomcat(即如果没有安装为服务)

答案 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文件。

  • 将命令提示符的活动目录更改为WAR文件位置
  • CATALINA_HOME变量设置为Tomcat目录的路径
  • 复制WAR文件

从命令行中的当前目录复制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文件

如果你想从命令提示符,那么我知道

  • 停止tomcat(catalina.bat stop)
  • 将战争复制到webapp
  • 重启tomcat(catalina.bat run)

答案 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