如何通过蚂蚁在Tomcat中自动部署战争



我想使用 Ant 来自动化应用程序的构建、部署、启动和停止服务器。 我能够通过 Ant 构建应用程序并将 war 文件复制到 Tomcat webapps 目录中。

在互联网上,我找到了这篇文章,其中包含更多用于启动和停止Tomcat的代码。由于我可以在没有这些的情况下成功部署,我想知道为什么它们在那里。

我的构建.xml的代码如下。

 <?xml version="1.0"?>
    <project name="Test" default="build-war">
        <property file="build.properties"></property>
        <target name="build-war" depends="clean">
                <war destfile="Test.war" webxml="${web.dir}/WEB-INF/web.xml" >
                    <fileset dir="${web.dir}">
                        <include name="**/*.*"/>
                    </fileset>
                <classes dir="${build.dir}/classes"></classes>
                </war>
                <copy todir="${deploy.path}" preservelastmodified="true">
                        <fileset
 dir=".">
                        <include name="*.war"/>
                    </fileset>
            </copy>
        </target>
    <target name="clean" description="Clean Test war directories">
        <delete>
            <fileset dir="${deploy.path}">
                <include name="Test.war"/>
            </fileset>
        </delete>
    </target>
</project>

没有可靠的方法可以将应用程序(重新(部署到 Web 服务器。应用程序可能无法部署的原因有很多(线程泄漏、关闭钩子、访问父类加载器(,但最终,没有可靠的方法来判断(复杂的(应用程序是否可以成功部署。

这意味着大多数开发人员已经学会了使用此循环:

  1. 部署。Tomcat 应该会自动注意到新文件并重新启动。
  2. 如果有什么奇怪的东西,请尝试重新加载(ReloadTask(。这告诉Tomcat"无论你相信什么,应用程序都变了!重新开始!
  3. 如果应用程序仍然失败,请停止并重新启动 Tomcat。
  4. 如果失败,请停止 tomcat,删除所有文件,再次部署,部署后,再次启动 Tomcat。
  5. 如果失败,请删除Tomcat和所有文件,重新安装,...

是的,我曾经有一个脚本可以完成上述所有步骤。

最后,我放弃了部署。我目前的解决方案是编写一个Java应用程序,该应用程序创建一个嵌入式Tomcat或Jetty服务器,对其进行配置并启动应用程序。我只有一个类路径。无需文件复制,部署或任何此类废话。这样,我只有一个进程,容器中只有一个 Web 应用程序,并且我将所有日志都放在一个地方。

相关内容

  • 没有找到相关文章

最新更新