`
laorer
  • 浏览: 434399 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ant的一些任务,可能不是很常用,但感觉不错

阅读更多
ant的一些核心任务;

1.
basename
Sets a property to the last element of a specified path in an effort to determine a file's name without directory structure

2.
dirname
Assigns a file's directory path to a property

3.
input
Displays a message and reads a line of input from the console, allowing for user input during the build process

4.
import
Allows the use of other Ant files

5.
record
Runs a listener that records the logging output of the build process to a file

6.
sequential
A container task that can contain other Ant tasks and run them in sequence

7.
rmic
Invokes the rmic compiler

8.
subant
Runs Ant within all subdirectories of the project directory

9.
tstamp
Sets time-based properties to the current time

10.
Ant has some additional Ant-specific properties:

ant.file

Contains the absolute path of the build file

ant.java.version

Contains the JVM version Ant is using (can hold only 1.1, 1.2, 1.3, 1.4 and [as of Ant 1.6] 1.5)

ant.project.name

Holds the name of the project that is executing (set with the name attribute of project)

ant.version

Contains the version of Ant running

basedir

Holds the absolute path of the project's base directory (set with the basedir attribute of project)


=======================
摘抄自 java development with ant
ant-contrlib的一些task,觉得可能有用的
1.
propertycopy,感觉有点像赋值,但是不是简单的赋值
<target name="propertycopy">
<property name="X" value="Y"/>
<property name="Y" value="Z"/>
<propertycopy name="A" from="${X}"/>
<echo message="A = ${A}"/>
</target>
The value of ${X} is “Y”. The from attribute of <propertycopy> refers to an Ant
property name, “Y” in this example. The value of the property Y is “Z”, so the output
is “A = Z”. This is a much nicer alternative than using the refid tricks.

2.osfamily 和操作系统相关的
<target name="osfamily">
<osfamily property="os.family" />
<echo message="O/S family is ${os.family}"/>
<property file="${os.family}.properties"/>
</target>
Executing this target on a Windows 2000 machine would load windows.properties.
Loading properties based on operating system family, or by hostname, enables build
files to adapt easily to their operating environment.

3.
Using if/then/else logic 逻辑判断,觉得会用到
<target name="if">
<if>
<equals arg1="${foo}" arg2="bar" />
<then>
<echo message="The value of property foo is bar" />
</then>
<else>
<echo message="The value of property foo is not bar" />
</else>
</if>
</target>

4.
Multiple value switching 开关控制

<target name="switch">
<switch value="${foo}">
<case value="bar">
<echo message="The value of property foo is bar" />
</case>
<case value="baz">
<echo message="The value of property foo is baz" />
</case>
<default>
<echo message="The value of property foo is not sensible" />
</default>
</switch>
</target>

5.
Catching task exceptions 使用try catch,不知道用处有多大

<target name="trycatch">
<trycatch property="exception.message"
reference="exception.ref">
<try>
<fail>Oops!</fail>
</try>
<catch>
<echo>Caught</echo>
</catch>
<finally>
<echo>Finally</echo>
</finally>
</trycatch>
<echo>As property: ${exception.message}</echo>
<property name="exception.value" refid="exception.ref" />
<echo>From reference: ${exception.value}</echo>
</target>
.....
Executing this target produces this output:
trycatch:
[trycatch] Caught exception: Oops!
[echo] Caught
[echo] Finally
[echo] As property: Oops!
[echo] From reference: C:\AntBook\Sections\Applying\tasks\
ant-contrib.xml:72: Oops!
BUILD SUCCESSFUL

6.
Using explicit iteration  ,我一般使用for, 不知道为什么,这个应该还有点用处的吧
<target name="for-each">
<foreach list="1,2,3" target="loop" param="var"
delimiter=",">
<fileset dir="."/>
</foreach>
</target>
<target name="loop">
<echo message="var = ${var}"/>
</target>
...
out put is
for-each:
loop:
[echo] var = 1
loop:
[echo] var = 2
loop:
[echo] var = 3
loop:
[echo] var = C:\AntBook\Sections\Applying\tasks\ant-contrib.xml
loop:
[echo] var = C:\AntBook\Sections\Applying\tasks\build\build.properties
.
.
The target is invoked for each iteration by using the underlying mechanism that the
<antcall> task uses, which means that the dependencies of the target are reevaluated
each iteration.





分享到:
评论
2 楼 laorer 2008-04-16  
嗯, 那肯定是要和其他内容结合,他本就是个配置的东东啊,

前些日子需要在 ant中有判断,能获得某个目录下的文件,然后调用每个文件,虽然可以另写个task,但如果已经有现成的为什么不用呢,

另外,如果能获得某个文件(夹)的名字,而不是全路径,basename给了很大的帮助,呵呵
1 楼 dearmite 2008-04-16  
偶不知如果ANT不和其它的东西结合,
它的作用还有多大.

反正偶是常用ANT的.
jar
javac
javadoc
war
还有就是和XDOCLET结合了吧,
生struts spring等配置文件呗.

COPY当然也用.
但是肯定是和别的一起.

相关推荐

    ant ant ant ant

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

    Ant自定义任务

    在实际项目中,自定义Ant任务可能涉及到更复杂的操作,例如与数据库交互、调用外部系统API或者处理特定的文件格式。开发者可以根据项目的具体需求,灵活地扩展Ant的功能。 通过自定义Ant任务,我们可以有效地提高...

    ANT的常用标签练习

    Apache Ant 是一个Java库和命令行工具,其任务是驱动构建过程。它是Java开发中的一个关键工具,尤其在自动化编译、打包、测试等任务上。Ant 的工作原理基于XML格式的构建文件,称为build.xml,其中包含了各种任务和...

    常用的ANT蚂蚁脚本

    在`build.xml`或`build1.xml`这样的ANT脚本中,可能会包含使用XDoclet的任务定义,例如`&lt;xdoclet&gt;`任务,来执行这一步骤。 2. **部署EJB项目**: EJB(Enterprise JavaBeans)是Java EE平台的核心组件,用于构建可...

    替换文本文件中Ant表达式的Ant扩展任务

    该程序为Ant的扩展任务,在拷贝文本格式的文件的同时替换文件中的Ant表达式,类似于 ${property.name},属性值来自于Ant脚本加载的属性文件,如果没有属性文件中没有定义相关属性,那么保留原来的表达式;...

    Ant的一些常用操作

    本文将详细阐述Ant的一些常用操作及其核心概念,帮助你更好地理解和运用这个工具。 首先,我们来看一下`build.properties`和`build.xml`这两个文件。在Ant中,`build.properties`文件用于存储项目的配置属性,这些...

    [北京圣思园Ant深入详解]_003.Ant目标深度详解、使用Ant的各种任务

    一些常见的Ant任务包括`&lt;copy&gt;`(复制文件或目录)、`&lt;javac&gt;`(编译Java源代码)、`&lt;mkdir&gt;`(创建目录)和`&lt;jar&gt;`(创建JAR文件)等。 让我们以`&lt;javac&gt;`任务为例,它是用于编译Java源代码的关键任务。你可以配置...

    一些常用到的电子书籍-Ant

    一些常用到的电子书籍-Ant

    ant自定义任务

    ### ant自定义任务详解 在构建自动化工具领域,Apache Ant是一个强大的开源软件项目,用于编译、测试和部署Java应用程序。Ant使用XML来定义构建过程,使得自动化构建流程变得直观和可配置。然而,Ant的强大之处不仅...

    ant开发指南用于说明ant一些相关信息

    3. **依赖管理**:虽然Ant本身不提供依赖管理功能,但可以通过调用Maven或Ivy等外部工具,实现对项目依赖的自动下载和管理。 4. **测试执行**:`junit`任务可以执行JUnit测试用例,生成测试报告。`surefire`任务则...

    ant脚本资料ant

    3. **Ant常用任务** - **javac任务**:用于编译Java源代码,可以设置源和目标兼容性级别,以及处理错误和警告的方式。 - **copy任务**:用于复制文件或目录,可以进行过滤和重命名操作。 - **jar任务**:创建Java...

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

    - 这个版本可能包含了一些特定的修复和改进,具体的详细信息需要查看"readme.txt"文件来了解。 3. **Windows上的Ant** - Ant可以在多种操作系统上运行,包括Windows。"apache-ant-1.6.5-bin"文件夹内包含了所有...

    ant ant下载与配置

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

    [北京圣思园Ant深入详解]_004.实现自定义Ant任务

    在Ant的世界里,自定义任务是扩展其功能的关键方式之一,允许开发者根据特定项目需求创建自己的构建步骤。Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,广泛用于管理Java项目的构建、编译、测试和...

    Apache Ant常用标签介绍

    下面将详细介绍一些Apache Ant中常用的标签。 1. `&lt;project&gt;`:这是Ant构建文件的根元素,定义了整个构建项目的属性,如项目名称、版本、默认目标等。例如: ```xml ``` 2. `&lt;target&gt;`:定义了一个可执行的...

    一个常用的ant的build.xml

    在描述中提到的博客链接虽然没有提供具体内容,但我们可以假设博主分享了一些关于如何理解和使用`build.xml`文件的经验或者示例。通常,一个`build.xml`文件会包含以下几个关键部分: 1. **属性(Properties)**:...

    ant工具ant资源包

    这个“ant工具ant资源包”很可能是Apache Ant的一个版本,具体为1.8.3。Ant以XML为基础来描述项目构建的规则和依赖关系,这使得构建过程在不同的环境中具有可移植性。 在Ant中,主要的概念有以下几点: 1. **构建...

    JAVA_Ant详细介绍与应用

    三.Ant的常用任务 四.利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用Ant的java任务运行Java程序 3.使用Ant的jar任务生成jar文件 4.使用Ant的war任务打包J2EE Web项目 五.总结

    ant包+示例

    "Ant入门"可能是这个压缩包中的主要教程或者指南,它可能涵盖了Ant的基本概念、安装步骤、XML配置文件的结构、常用任务的使用方法以及如何编写自定义任务等内容。在Ant的学习过程中,了解这些基础知识是非常关键的。...

    ant_1.2.6 ant_1.2.6.zip

    这个版本发布于2002年,相对于当前的版本来说可能较为陈旧,但在当时是一个广泛使用的版本,因为它引入了许多新特性并修复了一些已知问题。".zip"表明这是一个ZIP压缩文件,通常用于打包和分发软件。 描述"ant_...

Global site tag (gtag.js) - Google Analytics