在Tomcat战争文件的部署(Deployment of war file on Tomcat)

2019-08-06 06:48发布

是否有部署Tomcat服务器上给定的战争文件的方法吗? 我想这样做,而不使用Web界面。

Answer 1:

就在战争的文件复制到$ TOMCAT_HOME / webapps /目录。 Tomcat会自动爆炸把它部署war文件。 仅供参考 - 如果你愿意,你可以直接进行更新,以展开的目录,这对开发非常有用。



Answer 2:

有几种方法来部署一个Tomcat Web应用程序:

  • 拖放到$ CATALINA_HOME / webapps中,正如已经提到。
  • 使用您的构建脚本通过Manager界面自动部署(即自带的Tomcat)。 这里有两种方法
    • Maven的 :使用Tomcat插件。 你不需要把它列入pom.xml ,只是发出目标mvn tomcat:deploy ,该插件包含在Maven 2中这几个假定默认值中解释文档 ,你可以配置在行为pom.xml 。 有迹象表明,让你部署为展开的归档其他目标。
    • 对于蚂蚁 :是这样的:
    <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界面,我假设你知道如何配置用户和密码。



Answer 3:

我们从来没有使用Web界面,不喜欢它。 战争在WebApps的下降,server.xml中编辑为必要的。 你需要,如果你编辑server.xml反弹,但战争文件应自动将回升。 我们一般删除战争第一延展的目录,所以没有从组件从哪里来的混乱。



Answer 4:

您可以编辑的conf / server.xml中像这样的指向条目添加到你的战争目录

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

ELSE您可以将.war文件复制到Tomcat的webapps目录下。



Answer 5:

Tomcat的客户端部署包看起来是你需要部署到命令行远程服务器什么。 从页面:

这是可用于验证,编译,压缩到.WAR,和部署Web应用程序来生产或开发的Tomcat服务器的软件包。 应当注意的是,此功能使用Tomcat的管理,因此目标Tomcat服务器应该运行。



Answer 6:

您也可以尝试这种管理Tomcat的命令行脚本名为tomcat的经理。 它需要Python和会谈的管理器应用程序包括通过HTTP tomcat的。 您可以从一个* nix的外壳做的东西,如:

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp

和:

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war


文章来源: Deployment of war file on Tomcat