这是一个带有 2 个目标的骨架蚂蚁构建。初始化简单的回显到控制台你的类路径(用于调试)。“make-war”任务构建实际的战争档案。您需要更改位置以匹配您的设置。
<project name="Sample Build Script" default="init" basedir=".">
<property environment="env" />
<!-- ***** COMMAND LINE ARGUMENTS DEMOED HERE -->
<property name="build_type" value= "${env.build_type}"/>
<property name="version" value="${env.version}"/>
<!-- ***** END OF COMMAND LINE ARG **** -->
<property name="src.dir" value="${basedir}/source"/>
<property name="build.classes.dir" value="${basedir}/classes"/>
<property name="project.name" value="myproject"/>
<target name="make-war" depends="compile-servlet">
<delete file="${build.classes.dir}/war/${project.name}.war"/>
<war destfile="${build.classes.dir}/war/${project.name}.war" webxml="${src.dir}/WEB-INF/web.xml">
<webinf dir="${src.dir}/WEB-INF" />
<fileset dir="${src.dir}/html">
<include name="*.html" />
</fileset>
<classes dir="${build.classes.dir}">
<include name="/my/package/*.*"/>
</classes>
<lib dir="/some/lib/loc">
<include name="some-lib.jar"/>
</lib>
</war>
</target>
<target name="init" >
<echo message="Using Source directory=${src.dir}" />
<echo message="Using Build-Classes directory=${build.classes.dir}" />
<!-- **** VERIFY COMMAND LINE ARGS HERE ***** -->
<echo message="Build Type=${build_type}" />
<echo message="Build Version =${version}" />
<!-- *** END VERIFY COMMAND LINE ARGUMENTS -->
</target>
</project>
我假设你已经编译了你的类。您只想生成战争档案。我包含了 html 和 lib 元素作为参考。您可以随时将它们注释掉。希望有帮助:)
更新:我添加到命令行变量。您将上述内容保存在名为 build.xml 的文件中。您可以使用以下命令行运行该文件:
$> ant -Denv.build_type=PROD -Denv.version=2.01
这会将您的构建类型设置为“PROD”并将版本设置为“2.01”。这演示了如何在 ANT BUILD FILE 中使用命令行参数(根据您的详细说明)。
对于要合并命令行处理和“战争”目标的人,他们需要访问您的特定构建文件、构建要求、环境等。虽然“生产”一词确实很常见。“生产”的含义因项目而异,等等。因此,有人能做的就是向您展示如何创建一个接受参数的 ANT 脚本。
希望有帮助。