Apache Ant 时间戳生成tstamp任务
http://jocelyn-zjh.blogbus.com/logs/34983817.html
Apache Ant Tstamp :
http://ant
.apache.org/manual/index.html
摘于Apache Ant学习笔记之一 原作者:Matt Chapman
在生成环境中使用当前时间和日期,以某种方式标记某个生成任务的输出,以便记录它是何时生成的,这经常是可取的。这可能涉及编辑一个文件,以便插入一个字
符串来指定日期和时间,或将这个信息合并到 JAR 或 zip 文件的文件名中。
这种需要是通过简单但是非常有用的 tstamp 任务来解决的。这个任务通常在某次生成过程开始时调用,比如在一个 init
目标中。这个任务不需要属性,许多情况下只需 <tstamp/> 就足够了。
tstamp 不产生任何输出;相反,它根据当前系统时间和日期设置 Ant 属性。下面是 tstamp
设置的一些属性、对每个属性的说明,以及这些属性可被设置到的值的例子:
属性 说明 例子
DSTAMP 设置为当前日期,默认格式为yyyymmdd 20031217
TSTAMP 设置为当前时间,默认格式为 hhmm 1603
TODAY 设置为当前日期,带完整的月份 2003年12月17日
例如,在调用 tstamp 任务之后,我们能够根据日期命名该 JAR 文件,如下所示:
<jar destfile="package-${DSTAMP}.jar" basedir="classes"/>
因此,如果这个任务在 2003 年 12 月 17 日调用,该 JAR 文件将被命名为 package-20031217.jar。
还可以配置 tstamp 任务来设置不同的属性,应用一个当前时间之前或之后的时间偏移,或以不同的方式格式化该字符串。所有这些都是使用一个嵌套的
format 元素来完成的,如下所示:
<tstamp>
<format property="OFFSET_TIME"
pattern="HH:mm:ss"
offset="10" unit="minute"/>
</tstamp>
上面的清单将 OFFSET_TIME 属性设置为距离当前时间 10 分钟之后的小时数、分钟数和秒数。
用于定义格式字符串的字符与 java.text.SimpleDateFormat 类所定义的那些格式字符相同。
使用ant tstamp任务
<target name="tatamp">
<tstamp>
<format property="DSTAMP" pattern="yyyyMMdd"/>
</tstamp>
<zip destfile="./${DSTAMP}.rar"
basedir="${temp}"
/>
</target>
此任务的作用:在运行目录下生成一个以时间戳为文件名的rar文件。
demo:
------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<project default="dateFormat">
<target name="dateFormat">
<tstamp />
<!--
属性 说明 例子
DSTAMP 设置为当前日期,默认格式为yyyymmdd 20100511
TSTAMP 设置为当前时间,默认格式为 hhmm 2108
TODAY 设置为当前日期,带完整的月份 May 11 2010
-->
<echo message="${DSTAMP}" />
<echo message="${TSTAMP}" />
<echo message="${TODAY}" />
</target>
<!--
<tstamp>
<format property="DSTAMP" pattern="yyyy-MM-dd HH:mm:ss" />
</tstamp>
-->
</project>
分享到:
相关推荐
1. **核心任务**:Ant的核心包含了一系列预定义的任务,如`javac`用于编译Java源代码,`jar`用于创建JAR文件,`copy`用于文件复制,`delete`用于删除文件或目录,`mkdir`用于创建目录,以及`tstamp`用于设置时间戳等...
标题中的“ant的任务”指的是Apache Ant,一个Java平台上的构建工具。Apache Ant是Apache软件基金会的一个项目,它通过XML格式的构建文件来管理构建过程,主要用于编译、打包、测试和部署Java应用程序。 Apache Ant...
Ant提供了丰富的任务来处理文件和目录,如`copy`、`move`、`delete`、`mkdir`等,以及`tstamp`用于添加时间戳。 十、JAR和WAR打包 Ant可以方便地创建JAR和WAR包,使用`jar`和`war`任务,配合`manifest`元素可以定制...
任务是Ant脚本中的基本单元,它们定义了特定的构建操作,如编译源代码、生成Javadoc或打包JAR文件。任务之间可以有依赖关系,例如,通常打包任务(jar)依赖于编译任务(build),编译任务又依赖于初始化环境(init...
6. **`<tstamp>`任务**:为构建过程添加时间戳,常用于生成文件的版本信息。 四、ANT与持续集成 ANT不仅适用于单个项目构建,还可以与持续集成工具(如Jenkins、Bamboo)配合,实现自动化构建、测试和部署。通过ANT...
- 最后,执行`ant dist`,这将基于已编译的代码生成一个分发包,并将其放置在`dist/lib`目录下。 通过以上步骤,我们可以看到Ant如何简化了构建过程,使开发人员能够专注于代码编写,而不是繁琐的构建细节。
除了基本的`javac`和`jar`任务,Ant还提供了许多其他内置任务,如`copy`用于文件复制,`delete`用于删除文件或目录,`move`用于移动文件,`mkdir`创建目录,以及`tstamp`添加时间戳等。此外,Ant支持自定义任务,...
- 使用`<tstamp>`任务生成时间戳,便于版本控制和构建日志记录。 6. **Ant与其他工具集成** - Ant可以与IDEs(如Eclipse、IntelliJ IDEA)集成,提供图形化的构建操作。 - 可以与持续集成工具(如Jenkins、...
这本书还将详细讲解Ant中的各种内置任务,如javac用于编译Java源代码,copy用于复制文件,jar用于打包成JAR文件,以及tstamp用于生成时间戳等。 此外,Ant还支持自定义任务,这使得它能够与其他Java库和工具集成,...
Ant还有`tstamp`任务,可以生成时间戳属性,例如: ```xml <tstamp> </tstamp> ``` 这些时间戳属性可以在文件命名或者其他任务中使用,以实现时间相关的自动化操作。 总的来说,Ant通过XML配置提供了一种灵活、可...
- `<tstamp>`:生成时间戳。 - `<property>`:定义和管理属性,类似于变量。 - `<jar>`:打包Java类文件到JAR文件。 - `<war>`:打包Web应用到WAR文件。 - `<ear>`:打包企业级应用到EAR文件。 - `<move>`:移动文件...
2. **打包资源**:如果项目中包含了图片、配置文件等非Java资源,Ant可以使用`copy`任务将它们复制到目标目录,或者用`tstamp`任务生成时间戳等元数据。 3. **创建JAR文件**:`jar`任务允许你将编译后的类和资源...
- **tstamp**:插入时间戳,常用于生成版本信息。 - **exec**:执行外部程序,如运行shell命令。 Ant通过`<target>`元素组织任务,每个目标(target)可以包含一个或多个任务,并可以设定依赖关系,确保执行顺序。...
- Maven提供了丰富的插件,可以直接执行单元测试、生成文档等,Ant需要自定义任务。 - Maven具有中央仓库,方便获取和管理依赖,Ant依赖手动管理。 **6. 学习Ant的意义** 学习Ant有助于理解构建工具的工作原理,...
Apache Ant是一个基于Java的构建工具,主要用于编译、打包和发布应用程序。Ant通过使用XML文件来描述构建过程,并且能够跨平台运行。Ant使用一个名为build.xml的项目构建文件来定义构建过程中的各种任务和目标。Ant...
- `<tstamp>`:生成时间戳,用于记录构建时间。 - `<mkdir>`:创建目录。 - `<javac>`:对于Java项目,用于编译Java源码,但在这里我们不会用到,因为是JavaScript项目。 - `<delete>`:删除目录或文件。 在...