在Tomcat上部署War文件

时间:2020-03-06 14:48:53  来源:igfitidea点击:

有没有办法在Tomcat服务器上部署给定的war文件?我想在不使用Web界面的情况下执行此操作。

解决方案

我们可以编辑conf / server.xml并添加一个指向war目录的条目,如下所示

<Context path="/strutsDisplayTag" 
        reloadable="true" 
        docBase="C:\work\learn\jsp\strutsDisplayTag" 
        workDir="C:\work\learn\jsp\strutsDisplayTag\work" />

别的
我们可以将.WAR文件复制到tomcat的webapps目录中。

只需将war文件复制到$ TOMCAT_HOME / webapps /目录中。 Tomcat将通过自动分解战争文件来部署它。仅供参考,如果我们愿意,可以直接对展开的目录进行更新,这对开发很有用。

我们从不使用Web界面,不喜欢它。战争将删除到webapps中,并根据需要进行编辑的server.xml。如果我们编辑server.xml,则需要将其退回,但应自动拾取war文件。通常,我们通常会先删除战争中扩展的目录,这样就不会混淆组件的来源。

看起来,Tomcat Client Deployer Package是我们需要从命令行部署到远程服务器的软件包。从页面:

This is a package which can be used to validate, compile, compress to .WAR, and deploy web applications to production or development Tomcat servers. It should be noted that this feature uses the Tomcat Manager and as such the target Tomcat server should be running.

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

  • 如前所述,放入$ CATALINA_HOME / webapps。
  • 对于蚂蚁:像这样的东西:
<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界面,因此我假设我们知道如何配置用户和密码。