代码完成的功能列表:
E:\framespace\Diary>ant -p Buildfile: E:\framespace\Diary\build.xml Main targets: clean 清理编译目录 cleanoutput 清理输出目录 init 创建输出目录 checkstyle 用Checkstyle校验源代码 copysrc 复制源代码资源文件到编译目录 compilesrc 编译源代码文件 copytest 复制测试代码资源文件到编译目录 compiletest 编译测试代码文件 test 批量测试,并生成html createjar 生成Jar javadoc 生成JavaDoc zip 生成Zip total 构建完成 Default target: total
build.xml内容
<?xml version="1.0" encoding="UTF-8"?> <project name="diary" default="total"> <tstamp> <format property="build.latest.dir" pattern="yyyyMMddHHmmss"/> <format property="build.latest.date" pattern="yyyy-MM-dd"/> <format property="build.latest.time" pattern="HH:mm:ss"/> </tstamp> <property name="src.dir" location="src"/> <property name="lib.dir" location="WebContent\WEB-INF\lib"/> <property name="build.dir" location="WebContent\WEB-INF\classes"/> <!-- Output --> <property name="build.output" location="output"/> <property name="build.output.dir" location="${build.output}/diary-${build.latest.dir}"/> <!-- JavaDoc --> <property name="build.output.doc.dir" location="${build.output.dir}/docs"/> <!-- Test --> <property name="test.dir" location="test"/> <property name="build.output.test.dir" location="${build.output.dir}/test"/> <property name="build.output.test.data.dir" location="${build.output.test.dir}/data"/> <!-- CheckStyle --> <property name="build.output.checkstyle.dir" location="${build.output.dir}/checkstyle"/> <property name="checkstyle.xml" location="${build.output.checkstyle.dir}/checkstyle_checks.xml"/> <property name="checkstyle.xsl" location="${build.output.checkstyle.dir}/checkstyle-frames.xsl"/> <!-- Log --> <property name="build.output.log" location="${build.output}/output.log"/> <property name="build.output.log.verbose" location="${build.output}/output_verbose.log"/> <property name="build.output.log.datetime" value="[${build.latest.date} ${build.latest.time}] "/> <!-- Jar --> <property file="${src.dir}/base.properties"/> <property name="build.output.requires.dir" location="${build.output.dir}/requires"/> <fileset id="compile.jar" dir="${lib.dir}"> <include name="commons-lang-2.4.jar"/> </fileset> <!-- 类路径 --> <path id="compile.classpath"> <fileset refid="compile.jar"/> </path> <path id="test.classpath"> <path refid="compile.classpath"/> <pathelement location="${lib.dir}/junit-4.10.jar"/> <pathelement location="${build.dir}"/> </path> <path id="checkstyle.classpath"> <pathelement location="${lib.dir}/checkstyle-5.6-all.jar"/> </path> <!-- 记录日志,日志保存到文件中 --> <record name="${build.output.log}" append="no"/> <record name="${build.output.log.verbose}" append="no" loglevel="verbose"/> <target name="total" depends="zip" description="构建完成"> <echo>${build.output.log.datetime}构建完成!</echo> </target> <target name="zip" depends="createjar,javadoc" description="生成Zip"> <zip destfile="${build.output.dir}/${project.name}-core-${project.version}.zip" duplicate="preserve"> <zipfileset dir="${build.output.dir}/docs" prefix="docs"/> <zipfileset dir="${build.output.dir}/requires" prefix="requires"/> <zipfileset file="${build.output.dir}/*.jar"/> </zip> <echo>${build.output.log.datetime}生成Zip完成!</echo> </target> <target name="createjar" depends="test" description="生成Jar"> <manifest file="${build.output.dir}/MANIFEST.MF" encoding="utf-8"> <attribute name="Built-By" value="${user.name}"/> <section name="${project.name}"> <attribute name="Implementation-Title" value="${project.name}"/> <attribute name="Implementation-Version" value="${project.version}"/> </section> </manifest> <jar destfile="${build.output.dir}/${project.name}-core-${project.version}.jar" duplicate="preserve" compress="false" manifestencoding="utf-8" manifest="${build.output.dir}/MANIFEST.MF"> <fileset dir="${build.dir}"> <exclude name="test/**/*"/> <exclude name="test"/> <exclude name="checkstyle_checks.xml"/> <exclude name="checkstyle-frames.xsl"/> <exclude name="checkstyletask.properties"/> <exclude name="sun_checks.xml"/> <exclude name="checkstyle_checks.xml"/> <exclude name="base.properties"/> </fileset> </jar> <copy todir="${build.output.requires.dir}"> <fileset refid="compile.jar"/> </copy> <echo>${build.output.log.datetime}生成Jar完成!</echo> </target> <target name="javadoc" depends="test" description="生成JavaDoc"> <javadoc sourcepath="${src.dir}" destdir="${build.output.doc.dir}" packagenames="diary.*" use="true" version="true" windowtitle="${project.name}" failonerror="true"> <classpath refid="compile.classpath"/> </javadoc> <echo>${build.output.log.datetime}生成JavaDoc完成,详情可查看${build.output.doc.dir}/index.html!</echo> </target> <target name="test" depends="compilesrc,compiletest" description="批量测试,并生成html"> <junit printsummary="false" haltonfailure="false" errorProperty="test.failed" failureProperty="test.failed"> <classpath refid="test.classpath"/> <formatter type="brief" usefile="false"/> <formatter type="xml"/> <!-- 在testcase定义的情况下,单独测试testcase --> <test name="${testcase}" todir="${build.output.test.data.dir}" if="testcase"/> <!-- 批量测试 --> <batchtest todir="${build.output.test.data.dir}" unless="testcase"> <fileset dir="${build.dir}"> <include name="**/*Test.class"/> </fileset> </batchtest> </junit> <junitreport todir="${build.output.test.data.dir}"> <fileset dir="${build.output.test.data.dir}"> <include name="TEST-*.xml"/> </fileset> <report format="frames" todir="${build.output.test.dir}"/> </junitreport> <fail if="test.failed"> ${build.output.log.datetime}批量测试,并生成html失败,详细可查看${build.output.test.dir}/index.html </fail> <echo>${build.output.log.datetime}批量测试,并生成html完成,详细可查看${build.output.test.dir}/index.html!</echo> </target> <target name="compiletest" depends="copytest,compilesrc" description="编译测试代码文件"> <javac srcdir="${test.dir}" destdir="${build.dir}" includeAntRuntime="false" encoding="UTF-8"> <include name="**/*.java"/> <classpath refid="test.classpath"/> </javac> <echo>${build.output.log.datetime}编译测试代码文件完成!</echo> </target> <target name="copytest" depends="init" description="复制测试代码资源文件到编译目录"> <fileset dir="${test.dir}"> <exclude name="**/*.java"/> </fileset> <echo>${build.output.log.datetime}复制测试代码资源文件到编译目录完成!</echo> </target> <target name="compilesrc" depends="checkstyle,copysrc" description="编译源代码文件"> <javac srcdir="${src.dir}" destdir="${build.dir}" includeAntRuntime="false" encoding="UTF-8"> <include name="**/*.java"/> <classpath refid="compile.classpath"/> </javac> <echo>${build.output.log.datetime}编译源代码文件完成!</echo> </target> <target name="copysrc" depends="init" description="复制源代码资源文件到编译目录"> <copy todir="${build.dir}" includeemptydirs="false"> <fileset dir="${src.dir}"> <exclude name="**/*.java"/> </fileset> </copy> <echo>${build.output.log.datetime}复制源代码资源文件到编译目录完成!</echo> </target> <target name="checkstyle" depends="init" description="用Checkstyle校验源代码"> <taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" classpathref="checkstyle.classpath"/> <checkstyle failOnViolation="false" failureProperty="checkstyle.failed" config="${src.dir}/sun_checks.xml"> <fileset dir="${src.dir}" includes="**/*.java"/> <formatter type="plain"/> <formatter type="xml" toFile="${build.output.checkstyle.dir}/checkstyle_report.xml"/> </checkstyle> <xslt style="${checkstyle.xsl}" in="${build.output.checkstyle.dir}/checkstyle_report.xml" out="${build.output.checkstyle.dir}/checkstyle_report.html"> </xslt> <echo>${build.output.log.datetime}用Checkstyle校验源代码完成,详细信息查看${build.output.checkstyle.dir}/checkstyle_report.html!</echo> </target> <target name="init" depends="clean,cleanoutput" description="创建输出目录"> <mkdir dir="${build.output.dir}"/> <mkdir dir="${build.output.doc.dir}"/> <mkdir dir="${build.output.test.dir}"/> <mkdir dir="${build.output.test.data.dir}"/> <mkdir dir="${build.output.checkstyle.dir}"/> <copy todir="${build.output.checkstyle.dir}" overwrite="true"> <fileset dir="${src.dir}"> <include name="checkstyle-frames.xsl"/> <include name="checkstyle_checks.xml"/> </fileset> <filterset> <filter token="output.dir" value="${build.output.checkstyle.dir}"/> </filterset> </copy> <echo>${build.output.log.datetime}输出目录创建完成!</echo> </target> <target name="clean" description="清理编译目录"> <delete includeemptydirs="true"> <fileset dir="${build.dir}"> <include name="**/*"/> </fileset> </delete> <echo>${build.output.log.datetime}编译目录清理完成!</echo> </target> <target name="cleanoutput" description="清理输出目录"> <delete includeemptydirs="true"> <fileset dir="${build.output}"> <exclude name="output*.log"/> </fileset> </delete> <echo>${build.output.log.datetime}输出目录清理完成!</echo> </target> </project>
相关推荐
接着,我们来看如何使用Ant生成ZIP压缩包。Ant的`zip`任务可以将一组文件或目录打包成ZIP格式。你需要定义一个`zip`任务,指定输出的ZIP文件名以及包含的文件或目录。例如: ```xml <target name="create-zip"> ...
在这个例子中,`create-zip`目标创建了一个ZIP包,名为`ZipTest.zip`,并将`build.dir/classes`(编译后的Java类文件)和`resources`目录下的所有文件包含进去。`fileset`元素用来指定要添加到ZIP包的文件或目录。 ...
标题"apache-ant-1.9.16-bin.zip"表明这是Apache Ant的一个特定版本,即1.9.16,且文件以“bin”命名,意味着它包含的是可执行文件和运行时所需的库,而非源代码。这个版本可能包含了用于Windows、Linux和Mac OS等...
在这个例子中,`<zip>`任务创建了一个名为“output.zip”的ZIP文件,`<fileset>`定义了要被压缩的文件或目录,`dir`属性指定了源文件所在的目录,而`<include>`标签则指定了需要包含的文件模式。 解压ZIP文件同样...
在这个例子中,`taskdef`元素定义了一个名为`antlr`的Ant任务,指向ANTLR的类。然后在`generate-parser`目标中,Ant会调用这个任务来处理`MyGrammar.g`这个ANTLR语法文件,生成相应的解析器和词法分析器Java源代码。...
这将生成一个名为"example.tar"的tar文件。接着,我们可以使用7-Zip进一步解压tar文件: ```shell 7z x example.tar ``` 这样,所有包含在tar中的文件都会被提取到当前目录下。 在描述中提到的"build.xml",这是...
Ant是Apache软件基金会的一个开放源代码项目,它是一款强大的构建工具,主要被Java开发者用于自动化构建、测试和部署Java项目。这个"ant-1.7.1.jar.zip"压缩包包含的是Ant 1.7.1版本的jar文件,它是Ant运行时的核心...
Apache Ant 是一个强大的构建工具,尤其在Java开发领域中被广泛应用。它的主要功能是通过XML配置文件(通常命名为build.xml)来定义项目构建的各种任务,包括编译源代码、运行测试、打包应用、生成文档以及部署等...
在上述例子中,我们创建了一个Ant任务`run-script`,并在其中使用BSF执行了一段JavaScript代码,生成了一个包含“Hello, World!”的文本文件。这种方式使得Ant不仅限于执行预定义的任务,还可以灵活地根据项目需求...
在这个特定的案例中,我们关注的是"ant-contrib-1.0b3.jar.zip"这个压缩包,其中包含了"ant-contrib-1.0b3.jar"文件,这是使用Ant进行循环打包时所必需的一个第三方库。 Apache Ant是一个由Java编写的开源构建工具...
在Ant-Vaj-1.6.jar.zip中,"ant-vaj-1.6.jar"是Ant的一个扩展,专门用于支持IBM Visual Age for Java(Vaj)的构建过程。 Vaj,全称IBM Visual Age for Java,是一款早期的Java集成开发环境(IDE),它提供了强大的...
本文将深入探讨这两个组件以及它们在开发过程中的作用,特别是关注"ant-xslp-1.6.4.jar.zip"这个压缩包,它包含了Ant的一个扩展和相关的依赖。 首先,让我们来理解Ant。Apache Ant是一个开源的Java项目构建系统,它...
总的来说,"ant-xslp-1.6.5.jar.zip"是一个关键的组件,它提供了Ant对XSLT的支持,使得Java开发者能够在构建过程中更加灵活地处理XML数据。了解和掌握这个工具的使用方法,对于提升Java项目构建的效率和质量至关重要...
Apache Ant 是一个Java库和命令行工具,其任务是驱动构建过程。它的设计目标是推动软件项目的构建工作,类似于Make工具在Unix环境中的作用。Ant使用XML来描述构建过程和依赖关系,使得构建过程可跨平台执行。"ant-...
总的来说,Ant-APT为Java开发者提供了一个强大且灵活的工具,使得构建过程中可以充分利用APT的能力,提高代码生成的自动化程度。理解并熟练掌握Ant-APT的使用,对于提升开发效率、维护项目结构清晰具有重要意义。...
Ant是一个基于Java的构建工具,它使用XML来描述项目构建过程,能够自动化执行编译、测试、打包等任务。下面将详细介绍如何使用Ant来批量打包Android应用。 首先,确保你已经安装了以下基本环境: 1. Java ...
ANT,全称Apache Ant,是一个基于Java的构建工具,它以XML格式定义构建脚本,使得项目构建过程具有良好的可读性和可维护性。ANT在Java世界中扮演的角色类似于C语言中的make工具,用于自动化执行诸如编译、打包、测试...
以下是一个使用XDoclet插件生成Hibernate配置文件的例子: ```xml ${xdoclet.home}/lib"> **/*.jar"/> ${xdoclet.home}/plugins"> **/*.jar"/> <taskdef name="xdoclet" classname="org.xdoclet.ant....