`
andy54321
  • 浏览: 441537 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ant实践过程初记

    博客分类:
  • WEB
阅读更多

ant 学习很好得文档:
ANT十五大最佳实践 http://www.oreilly.com.cn/news/ant15toppractices.php?c=java
Tutorial:Hello World with Ant http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html


ANT:
解压,
设置两项环境变量:
ANT_HOME=D:\apache-ant-1.7.0
PATH中添加 %ANT_HOME%\bin;

输入 ant -projecthelp,可以看到带有描述的任务清单,比如,你可以这样定义任务:
<target name="compile" 
   description="Compiles code, output goes to the build dir.">
将会如下显示:
D:\svn_space\hello>ant -projecthelp
Buildfile: build.xml

Main targets:

 compile  Compiles code, output goes to the build dir.
 doc      create api doc
 pack     make .jar file
 test     run junit test
Default target: doc

我的实践:

目录结构:

 hello
   src
       com.hello.....
   dist
   doc
   report
   WebRoot
        WEB-INF
             lib
             web.xml
        index.jsp
 build.xml

build.xml:

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== 
     Apr 30, 2008 11:31:26 AM                                                        

     project    
     description
                                                                         
     ====================================================================== -->
<project name="Hello world" default="doc">

	<!-- properies -->
	<property name="src.dir" value="src" />
	<property name="report.dir" value="report" />
	<property name="classes.dir" value="build/classes" />
	<property name="lib.dir" value="WebRoot/WEB-INF/lib" />
	<property name="dist.dir" value="dist" />
	<property name="doc.dir" value="doc" />

	<!-- 定义classpath -->
	<path id="master-classpath">
		<fileset file="${lib.dir}/*.jar" />
		<pathelement path="${classes.dir}" />
	</path>

	<!-- 初始化任务 -->
	<target name="init">
		<echo message="***** target init "/>
	</target>

	<!-- 编译 -->
	<target name="compile" depends="init" description="compile the source files">
		<mkdir dir="${classes.dir}" />
		<echo message="****** compile method" />
		<javac srcdir="${src.dir}" destdir="${classes.dir}" target="1.5">
			<classpath refid="master-classpath" />
		</javac>
	</target>

	<!-- 测试 -->
	<target name="test" depends="compile" description="run junit test">
		<mkdir dir="${report.dir}" />
		<junit printsummary="on" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
			<classpath refid="master-classpath" />
			<formatter type="plain" />
			<batchtest todir="${report.dir}">
				<fileset dir="${classes.dir}">
					<include name="**/*Test.*" />
				</fileset>
			</batchtest>
		</junit>
		<fail if="tests.failed">
            ***********************************************************
            ****  One or more tests failed!  Check the output ...  ****
            ***********************************************************
            </fail>
	</target>

	<!-- 打包成jar -->
	<target name="pack" depends="test" description="make .jar file">
		<mkdir dir="${dist.dir}" />
		<jar destfile="${dist.dir}/hello.jar" basedir="${classes.dir}">
			<exclude name="**/*Test.*" />
			<exclude name="**/Test*.*" />
		</jar>
	</target>

	<!-- 输出api文档 -->
	<target name="doc" depends="pack" description="create api doc">
		<mkdir dir="${doc.dir}" />
		<javadoc destdir="${doc.dir}" author="true" version="true" use="true" windowtitle="Test API">
			<packageset dir="${src.dir}" defaultexcludes="yes">
				<include name="com/**" />
			</packageset>
			<doctitle>
				<![CDATA[<h1>Hello, test</h1>]]></doctitle>
			<bottom>
				<![CDATA[<i>All Rights Reserved.</i>]]></bottom>
			<tag name="todo" scope="all" description="To do:" />
		</javadoc>
	</target>
</project>

 

执行ant结果:

Buildfile: D:\svn_space\hello\build.xml

init:
        [echo] ***** target init

compile:
       [mkdir] Created dir: D:\svn_space\hello\build\classes
        [echo] ****** compile method
       [javac] Compiling 1 source file to D:\svn_space\hello\build\classes

test:

pack:
         [jar] Building jar: D:\svn_space\hello\dist\hello.jar

doc:
     [javadoc] Generating Javadoc
     [javadoc] Javadoc execution
     [javadoc] 正在装入软件包 com.hello 的源文件...
     [javadoc] 正在构造 Javadoc 信息...
     [javadoc] 标准 Doclet 版本 1.5.0_06
     [javadoc] 正在构建所有软件包和类的树...
     [javadoc] 正在生成 D:\svn_space\hello\doc\com/hello/\HelloOK.html...
     [javadoc] D:\svn_space\hello\src\com\hello\HelloOK.java:10: 警告 - @date 是未知标记。
     [javadoc] 正在生成 D:\svn_space\hello\doc\com/hello/\package-frame.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\com/hello/\package-summary.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\com/hello/\package-tree.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\constant-values.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\com/hello/\class-use\HelloOK.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\com/hello/\package-use.html...
     [javadoc] 正在构建所有软件包和类的索引...
     [javadoc] 正在生成 D:\svn_space\hello\doc\overview-tree.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\index-all.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\deprecated-list.html...
     [javadoc] 正在构建所有类的索引...
     [javadoc] 正在生成 D:\svn_space\hello\doc\allclasses-frame.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\allclasses-noframe.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\index.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\help-doc.html...
     [javadoc] 正在生成 D:\svn_space\hello\doc\stylesheet.css...
     [javadoc] 注意:可能覆盖将来的标准标记的自定义标记: @todo。为了避免出现可能的覆盖,请在自定义标记名称中至少使用一个句点字符 (.)。
     [javadoc] 注意:未找到的自定义标记:  @todo
     [javadoc] 1 警告
BUILD SUCCESSFUL
Total time: 5 seconds

分享到:
评论

相关推荐

    ant ant ant ant

    "Ant ant ant antant ant ant antant ant ant ant" 这个描述可能是在强调Ant在项目构建过程中的重复性和不可或缺性,暗示着它在工程中的频繁使用和核心地位。 Ant的设计理念是“一切都是XML”,它通过XML格式的构建...

    ant ant下载与配置

    ant ant下载 ant配置ant ant下载 ant配置ant ant下载 ant配置

    apache-ant-1.6.5-bin.zip_ ant 1.6.5_ant_ant-1.6.5_apache ant win

    - Ant是一个基于Java的构建工具,它简化了软件项目的构建过程,特别是Java项目。 - 它的核心概念是任务(Task),这些任务是由Ant提供的或者由用户自定义的,用于执行各种构建操作,如编译、复制、打包、测试等。 ...

    ant 第一个例子

    通过理解并实践这个“antdemo”例子,开发者能够掌握Ant的基本用法,从而更有效地管理Java项目的构建流程。Ant的强大在于其可扩展性和灵活性,可以根据不同项目的需求定制构建脚本,提高开发效率。

    开发工具 ant-1.9.6

    开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6...

    ant脚本资料ant

    通过阅读`命令.txt`、`ant知识.txt`、`ant构建Java.txt`、`ant例子.txt`这些文件,你可以深入了解Ant的使用方法,包括命令行调用、具体的构建步骤、Java项目构建实例以及各种任务的实践应用。这些资料将帮助你掌握...

    ANT文件详解 ant介绍 ANT 命令

    在跨平台应用开发的过程中,Ant因其卓越的表现而备受推崇。 #### Ant与Makefile对比 Makefile虽然广泛应用于C/C++项目的构建,但其复杂的语法、对制表符(Tab)的敏感性以及缺乏跨平台兼容性等问题,常使开发者...

    Ant 1.9.1 学习笔记

    Ant是一个基于Java的构建工具,主要用于简化Java应用程序的构建过程,它通过XML文件来描述构建过程,执行编译、测试、打包等工作。Ant 1.9.1是Ant的一个版本,学习笔记通常记录了使用该工具的基本操作和配置方法。 ...

    ant.jar下载

    org.apache.tools.ant.Main org.apache.tools.ant.Task org.apache.tools.bzip2.CRC org.apache.tools.ant.Target org.apache.tools.ant.Project org.apache.tools.zip.ZipFile org.apache.tools.zip.ZipLong ...

    apache-ant-1.6.0-bin.zip_ant 1_ant 1.6_ant 1.6.0_ant-1.6.0_apach

    Apache Ant 是一个开源的构建工具,它主要用于Java项目,但也可以用于其他语言的构建过程。在标题和描述中提到的 "apache-ant-1.6.0-bin.zip" 是Apache Ant 1.6.0版本的二进制发行包,这个版本在JSP(JavaServer ...

    Ant 打 war 包过程

    在Java Web开发中,"Ant打war包过程"是一个关键步骤,它涉及到使用Apache Ant工具将项目打包成一个可部署的WAR(Web Application Archive)文件。Ant是一个基于XML的构建工具,广泛用于自动化Java项目的构建、编译和...

    ant工具ant资源包

    Apache Ant 是一个由Java编写的构建工具,它主要用于自动化软件项目的构建、编译、测试和部署过程。这个“ant工具ant资源包”很可能是Apache Ant的一个版本,具体为1.8.3。Ant以XML为基础来描述项目构建的规则和依赖...

    Junit+ant+cobertura示例

    总的来说,"Junit+ant+cobertura示例"是一个展示如何使用JUnit进行单元测试,通过Ant进行自动化构建,并利用Cobertura进行代码覆盖率分析的实践案例。这样的组合可以帮助开发者更高效地管理和提升代码质量,确保软件...

    ant工具和ant教程

    Ant是Apache软件基金会下的一个Java项目,它是一个构建工具,主要用于管理Java项目的构建过程。Ant以其XML为基础的构建文件(build.xml)而著名,这些文件详细描述了如何编译、打包和测试Java应用程序。Ant的核心...

    Ant入门-ant入门pdf

    Ant是Java开发中广泛使用的自动化构建工具,由Apache软件基金会开发,其设计目标是简化项目构建过程,使开发者能够通过XML配置文件来定义构建任务。 Ant的核心概念是基于任务(task)的,这些任务可以是编译源代码、...

    Ant参考教程,Ant使用指南,Ant全攻略

    "Ant十五大最佳实践.doc"则可能总结了经验丰富的开发者在使用Ant时总结的一些技巧和建议,比如合理组织构建文件,使用变量和属性来减少重复,保持构建文件的简洁性,以及利用Ant的条件和循环结构来优化构建过程。...

    ant1.9包下载

    Ant的设计理念是通过XML来描述构建过程,使得构建脚本具有良好的可读性和可维护性。在描述中提到,Ant与Unix世界的make类似,但避免了make的一些局限性,比如依赖于特定操作系统或需要特定的语法结构。Ant是平台无关...

    ant包+示例

    Ant是Apache软件基金会下的一个项目,它是一款强大的构建工具,主要用在Java应用程序的构建过程中。Ant使用XML来描述构建过程和依赖关系,使得构建任务的配置文件具有良好的可读性和可维护性。"Ant包+示例"的标题...

Global site tag (gtag.js) - Google Analytics