在Tomcat上部署war文件

Mil*_*ous 17 java linux deployment tomcat release-management

有没有办法在Tomcat服务器上部署给定的war文件?我想在不使用Web界面的情况下这样做.

Ale*_*rov 23

有几种方法可以部署Tomcat Web应用程序:

  • 如前所述,放入$ CATALINA_HOME/webapps.
  • 使用构建脚本通过管理器界面(Tomcat附带)自动部署.以下是两种方式
    • 对于Maven:使用tomcat插件.您不需要包含它pom.xml,只需发出目标mvn tomcat:deploy,插件包含在Maven 2中.这假设在文档中解释了几个默认值,您可以在中配置行为pom.xml.还有其他目标可以将您部署为展开的存档.
    • 对于Ant:这样的事情:
    <property name="manager.url"   value="http://localhost:8080/manager"/>
    <property name="manager.username" value="manager"/>
    <property name="manager.password" value="foobar"/>
    <!-- Task definitions -->
    <taskdef name="deploy"   classname="org.apache.catalina.ant.DeployTask"/>
    <taskdef name="list"     classname="org.apache.catalina.ant.ListTask"/>
    <taskdef name="reload"   classname="org.apache.catalina.ant.ReloadTask"/>
    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
    <!-- goals -->
    <target name="install" depends="compile" description="Install application to servlet container">
        <deploy url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"
                localWar="file://${build.home}"/>
    </target>
    <target name="list" description="List installed applications on servlet container">
        <list    url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"/>
    </target>
    <target name="reload" depends="compile" description="Reload application on servlet container">
        <reload url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"/>
    </target>
    <target name="remove" description="Remove application on servlet container">
        <undeploy url="${manager.url}"
                username="${manager.username}"
                password="${manager.password}"
                path="${app.path}"/>
    </target>

所有这些都需要您拥有Tomcat用户配置.它存在$CATALINA_BASE/conf/tomcat-users.xml,但由于您已经知道如何使用Web界面,我假设您知道如何配置用户和密码.


Joe*_*ean 10

只需将war文件复制到$ TOMCAT_HOME/webapps /目录中即可.Tomcat将通过自动爆炸来部署war文件.仅供参考 - 如果需要,可以直接对展开的目录进行更新,这对开发非常有用.

  • 所以,我可以在服务器上的directiory上运行rsync --delete吗? (2认同)