`
friendsys
  • 浏览: 352490 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Ant笔记

阅读更多
Ant是一个在Java开发里面很传说的一个工具,以前一直听说,却没有‘时间’去进行了解,最近借着读书的机会,好好了解了一番,发现ant在管理整个项目生命周期中,能起到相当大的自由度,比起严重的IDE以来,自由了许多,而且良好的自解释的XML格式,也很容易理解。虽然还是偏向maven一些,不过还是可以多了解一些。以后也可以去了解下make

<?xml version="1.0" ?>
<project name="tax-calculator" default="package">
    <property name="src.dir" location="src"/>
    <property name="build.dir" location="build"/>
    <property name="tests.dir" location="test"/>
    <property name="build.classes.dir" location="${build.dir}/classes"/>
    <property name="test.classes.dir" location="${build.dir}/test-classes"/>
    <property name="lib" location="lib"/>
    <property name="dist.dir" location="dist"/>
    <property name="reports.dir" location="reports"/>
    <property name="reports.data.dir" location="reports/xml"/>
    <property name="reports.html.dir" location="reports/html"/>
    <property name="reports.javadoc" location="javadoc"/>

    <path id="compile.classpath">
         <fileset dir="${lib}" includes="*.jar"/>
    </path>

    <path id="test.compile.classpath">
        <path refid="compile.classpath"/>
        <pathelement location="${build.classes.dir}"/>
    </path>

    <path id="test.classpath">
        <path refid="test.compile.classpath"/>
        <pathelement path="${test.classes.dir}"/>
    </path>

	<target name="init">
		<mkdir dir="${build.classes.dir}"/>
		<mkdir dir="${test.classes.dir}"/>
		<mkdir dir="${dist.dir}"/>
        <mkdir dir="${tests.dir}"/>
        <mkdir dir="${reports.dir}"/>
        <mkdir dir="${reports.data.dir}"/>
        <mkdir dir="${reports.html.dir}"/>
        <mkdir dir="${reports.javadoc}"/>
	</target>

	<target name="compile" depends="init" description="Compile Java code">
		<javac srcdir="${src.dir}" destdir="${build.classes.dir}" classpathref="compile.classpath"/>
	</target>

    <target name="compile-tests" depends="compile" description="Compile Unit Tests">
		<javac srcdir="${src.dir}" destdir="${test.classes.dir}" classpathref="test.compile.classpath"/>
	</target>

	<target name="package" depends="compile" description="Generate JAR file">
		<jar destfile="dist/tax-calculator.jar" basedir="build/classes">
		<manifest>
			 <attribute name="Main-class" value="com.javapowertools.taxcalculator.Main"/>
		</manifest>
		</jar>
	</target>

	<target name="clean" depends="init"  description="Deletes generated directories">
		<delete dir="build"/>
		<delete dir="dist"/>
	</target>

    <target name="test" depends="compile-tests" description="Run unit tests">
        <junit printsummary="true" haltonfailure="true">
            <classpath refid="test.classpath"/>
            <formatter type="plain" usefile="false"/>
            <formatter type="xml"/>
            <batchtest todir="${reports.dir}">
                <fileset dir="${test.classes.dir}" includes="**/*Test.class"/>
            </batchtest>
        </junit>
    </target>

    <target name="test-report" depends="test" description="Generate HTML unit
    test report">
        <junitreport todir="${reports.data.dir}">
            <fileset dir="${reports.dir}">
                <include name="TEST-*.xml"/>
            </fileset>
            <report format="frames" todir="${reports.html.dir}"/>
        </junitreport>
    </target>

    <target name="javadoc" depends="compile,init" description="Generate JavaDoc">
        <javadoc  sourcepath="${src.dir}"
                  destdir="${reports.javadoc}"
                  author="true"
                  version="true"
                  use="true"
                  access="private"
                  linksource="true"
                  windowtitle="${ant.project.name} API">
            <classpath >
                <path refid="compile.classpath"/>
                <pathelement path="${build.classes.dir}"/>
            </classpath>
            <doctitle ><![CDATA[<h1>${ant.project.name}</h1>]]></doctitle>
            <bottom ><![CDATA[<i>Copyright &#169; 2007</i>]]></bottom>
        </javadoc>

    </target>
</project>


1:提供了对Javac编译的能力
2:提供了对文件目录管理的能力
3:提供了Javadoc生成的能力
4:提供了对Junit调用,以及生成对应的报告的能力
5:提供jar,war,ear包的打包能力
6:提供scp,ftp的远程部署能力-----关注
7:引导构建脚本过程的能力--依赖的约束,与maven有所不同
8:可以被maven调用
9:集成XMLTask对xml文件进行完全控制的能力

总结:清晰的了解了一个项目应该存在的构建过程和如何去控制项目生命周期,解答了很多以前迷茫,不过还不够强大。期待Maven2.0和3.0

分享到:
评论

相关推荐

    经典ant笔记.doc

    ### 经典Ant笔记知识点详解 #### 一、Ant简介及功能 - **定义与作用:** - Ant是一款开源的Java平台上的自动化构建工具,主要用于简化软件项目的构建过程,支持多种任务,如编译Java源代码、运行Java程序、复制...

    ant_学习笔记

    ### ant学习笔记:深入了解ant构建工具 #### 引言 `ant`,作为一款源自动网络的学习笔记,主要探讨了Apache Ant这一强大的构建工具。Apache Ant是一款开源的、跨平台的构建工具,专为Java应用程序设计,旨在简化并...

    Ant 1.9.1 学习笔记

    Ant 1.9.1是Ant的一个版本,学习笔记通常记录了使用该工具的基本操作和配置方法。 ### Ant的下载和安装 要使用Ant,首先需要下载并安装。在Windows系统中,通常需要配置环境变量以便于命令行中使用Ant命令。ANT_...

    ant个人学习笔记和简单示例

    总的来说,这个“ant个人学习笔记和简单示例”应该能帮助你掌握Ant的基本用法,理解构建过程的自动化,以及如何编写和维护自己的构建文件。通过学习和实践其中的示例,你将能够熟练地运用Ant来构建和管理Java项目,...

    ant 学习 笔记 一个简单的java 编译部署实例

    根据提供的文件信息,这里将深入解析“ant学习笔记:一个简单的java编译部署实例”,涵盖标题、描述、标签以及部分内容中提及的关键知识点。 ### Apache Ant简介 Apache Ant是一款开源的Java环境下的自动化构建...

    Ant构建工具学习笔记

    《Ant构建工具学习指南》 Ant,作为Java领域的一个强大构建工具,它的主要作用在于将复杂的项目构建过程规范化、自动化,使得开发者能够更专注于代码的编写而非构建流程。本文将深入探讨Ant的基本概念、安装配置、...

    Ant学习笔记

    在“Ant学习笔记”中,我们可以深入探讨以下几个关键知识点: 1. **Ant基本概念**:Ant是Apache软件基金会下的一个项目,主要由Java编写。它的核心类库`ant.jar`包含了所有执行构建任务所需的组件。XML文件,通常...

    Ant安装配置笔记.doc

    ANT,全称Apache Ant,是一个基于Java的构建工具,它以XML格式定义构建脚本,使得项目构建过程具有良好的可读性和可维护性。ANT在Java世界中扮演的角色类似于C语言中的make工具,用于自动化执行诸如编译、打包、测试...

    Ant 学习笔记

    **Ant学习笔记** Apache Ant,一个Java库和命令行工具,其任务是驱动构建过程。它是Java世界中广泛使用的构建工具,类似于Unix世界的Make。Ant以其XML格式的构建文件(通常命名为`build.xml`)而闻名,这个文件包含...

    Jenkins+SVN+Ant持续集成环境配置笔记

    ### Jenkins+SVN+Ant持续集成环境配置笔记 #### 一、引言 随着软件开发项目的日益复杂化,持续集成(Continuous Integration, CI)已成为现代软件工程中的一个重要组成部分。通过持续集成,团队能够频繁地集成代码...

    Ant打包编译部署工具学习笔记2(附件中含有测试项目)

    在"Ant打包编译部署工具学习笔记2"中,我们可以预期博主分享了关于如何利用Ant进行更复杂的构建操作,例如集成测试、优化和打包。这可能包括如何配置build.xml文件,添加自定义任务,以及如何处理依赖关系。由于没有...

    ant的安装配置笔记

    Apache Ant 是一个强大的构建工具,它是Java开发领域中用于自动化构建、编译、测试和部署项目的工具。Ant基于Java,其脚本以XML格式编写,这使得它具有跨平台的特性,同时也方便了脚本的维护和理解。下面将详细介绍...

    liferay的那些东西

    1. **ant笔记.doc** 和 **ant介绍.doc**:Ant是一个Java构建工具,用于自动化构建、测试和部署Java项目。在Liferay中,Ant脚本常用来构建portlet项目,配置构建过程,如编译源代码、打包和部署。学习Ant的基本概念和...

Global site tag (gtag.js) - Google Analytics