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

Ant 常用命令

    博客分类:
  • Ant
ant 
阅读更多

1. mkdir

<mkdir dir="build/classes"/>

创建一个目录,如果他的父目录不存在,也会被同时创建。


2. copy
(1) 拷贝单个的文件: 
<copy file="myfile.txt" tofile="mycopy.txt"/>
(2) 拷贝单个的文件到指定目录下
<copy file="myfile.txt" todir="../some/other/dir"/>
(3) 拷贝一个目录到另外一个目录下
<copy todir="../new/dir">
<fileset dir="src_dir"/>
</copy>
(4) 拷贝一批文件到指定目录下
<copy todir="../dest/dir">
<fileset dir="src_dir">
<exclude name="**/*.java"/>
</fileset>
</copy>

<copy todir="../dest/dir">
<fileset dir="src_dir" excludes="**/*.java"/>
</copy>
(5) 拷贝一批文件到指定目录下,将文件名后增加.Bak后缀
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<mapper type="glob" from="*" to="*.bak"/>
</copy>
(6) 拷贝一组文件到指定目录下,替换其中的@TITLE@内容为"Foo Bar"
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<filterset>
<filter token="TITLE" value="Foo Bar"/>
</filterset>
</copy>
(7) Collect all items from the current CLASSPATH setting into a destination directory, flattening the directory structure.
  <copy todir="dest" flatten="true">
    <path>
      <pathelement path="${java.class.path}"/>
    </path>
  </copy>
(8) Copies some resources to a given directory.
  <copy todir="dest" flatten="true">
    <resources>
      <file file="src_dir/file1.txt"/>
      <url url="http://ant.apache.org/index.html"/>
    </resources>
  </copy>

3. delete
(1) 删除一个文件
<delete file="/lib/ant.jar"/>
(2) 删除指定目录及其子目录
<delete dir="lib"/>
(3) 删除指定的一组文件
<delete>
<fileset dir="." includes="**/*.bak"/>
</delete>
(4) 删除指定目录及其子目录,包括他自己
<delete includeEmptyDirs="true">
<fileset dir="build"/>
</delete>
(5) 删除指定目录及其子目录,除了他自己
<delete includeemptydirs="true">
    <fileset dir="build" includes="**/*"/>
</delete>

4. move
(1) 移动一个文件(重命名)
<move file="file.orig" tofile="file.moved"/>
(2) 移动或重命名一个文件到另一个文件夹下面
<move file="file.orig" todir="dir/to/move/to"/>
(3) 将一个目录移到另外一个目录下
<move todir="new/dir/to/move/to">
<fileset dir="src/dir"/>
</move>
(4) 将一组文件移动到另外的目录下
<move todir="some/new/dir">
<fileset dir="my/src/dir">
<include name="**/*.jar"/>
<exclude name="**/ant.jar"/>
</fileset>
</move>
(5) 移动文件过程中增加。Bak后缀
<move todir="my/src/dir">
<fileset dir="my/src/dir">
<exclude name="**/*.bak"/>
</fileset>
<mapper type="glob" from="*" to="*.bak"/>
</move>

5. java
执行指定的java类
(1) classname中指定要执行的类,classpath设定要使用的环境变量
<java classname="test.Main">
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
(2) Runs the rmic compiler for a certain class
<path id="project.class.path">
<pathelement location="lib/"/>
<pathelement path="${java.class.path}/"/>
<pathelement path="${additional.path}"/>
</path>
<target ... >
<rmic ...>
<classpath refid="project.class.path"/>
</rmic>
</target>

6. javac

编 译${src}和${src2}目录及其子目录下的所有。Java文件,但是package/p1/**,mypackage/p2/**将被编译,而mypackage/p1/testpackage/**将不会被编译。Class文件将放在${build}指定的目录下,classpath表示需要用到的类文件或者目录,debug设置为on表示输出debug信息

<javac srcdir="${src}:${src2}"
destdir="${build}"
includes="mypackage/p1/**,mypackage/p2/**"
excludes="mypackage/p1/testpackage/**"
classpath="xyz.jar"
debug="on"

/>

7. jar
(1) 将${build}/classes下面的所有文件打包到${dist}/lib/app.jar中,但是包括mypackage/test/所有文件不包括所有的Test.class

<jar destfile="${dist}/lib/app.jar"
basedir="${build}/classes"
includes="mypackage/test/**"
excludes="**/Test.class"
/>
(2
manifest属性指定自己的META-INF/MANIFEST.MF文件,而不是由系统生成

<jar destfile="${dist}/lib/app.jar"
basedir="${build}/classes"
includes="mypackage/test/**"
excludes="**/Test.class"
manifest=”my.mf”
/>

(3) 多处 


<jar destfile="${dist}/lib/app.jar">

    <fileset dir="${build}/classes" excludes="**/Test.class" />

    <fileset dir="${src}/resources"/>

</jar>


8. war
对Jar的扩展,用于打包Web应用
假设我们的文件目录如下:
thirdparty/libs/jdbc1.jar
thirdparty/libs/jdbc2.jar
build/main/com/myco/myapp/Servlet.class
src/metadata/myapp.xml
src/html/myapp/index.html
src/jsp/myapp/front.jsp
src/graphics/images/gifs/small/logo.gif
src/graphics/images/gifs/large/logo.gif
下面是我们的task的内容: 
<war destfile="myapp.war" webxml="src/metadata/myapp.xml">
<fileset dir="src/html/myapp"/>
<fileset dir="src/jsp/myapp"/>
<lib dir="thirdparty/libs">
<exclude name="jdbc1.jar"/>
</lib>
<classes dir="build/main"/>
<zipfileset dir="src/graphics/images/gifs" 
prefix="images"/>
</war>
完成后的结果:
WEB-INF/web.xml
WEB-INF/lib/jdbc2.jar
WEB-INF/classes/com/myco/myapp/Servlet.class
META-INF/MANIFEST.MF
index.html
front.jsp
images/small/logo.gif
images/large/logo.gif


9. 时间戳
在生成环境中使用当前时间和日期,以某种方式标记某个生成任务的输出,以便记录它是何时生成的,这经常是可取的。这可能涉及编辑一个文件,以便插入一个字符串来指定日期和时间,或将这个信息合并到 JAR 或 zip 文件的文件名中。
这种需要是通过简单但是非常有用的 tstamp 任务来解决的。这个任务通常在某次生成过程开始时调用,比如在一个 init 目标中。这个任务不需要属性,许多情况下只需 <tstamp/> 就足够了。
tstamp 不产生任何输出;相反,它根据当前系统时间和日期设置 Ant 属性。下面是 tstamp 设置的一些属性、对每个属性的说明,以及这些属性可被设置到的值的例子:
属性 说明 例子 
DSTAMP 设置为当前日期,默认格式为yyyymmdd 20031217
TSTAMP 设置为当前时间,默认格式为 hhmm 1603
TODAY 设置为当前日期,带完整的月份 2003 年 12 月 17 日
例如,在前一小节中,我们按如下方式创建了一个 JAR 文件:
<jar destfile="package.jar" basedir="classes"/>
在调用 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 类所定义的那些格式字符相同
 
10. 执行SQL语句
通过jdbc执行SQL语句
(1) 执行sql文件

<sql
driver="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/mydb"
userid="root"
password="root"
src="data.sql"
/>
(2) 
只有在oracle、版本是8.1的时候才执行

<sql
driver="org.database.jdbcDriver"
url="jdbc:database-url"
userid="sa"
password="pass"
src="data.sql"
rdbms="oracle"
version="8.1."
>
</sql>

(3) 执行sql语句

<sql driver="org.database.jdbcDriver"

       url="jdbc:database-url"

       userid="sa"

       password="pass" >

insert

into table some_table

values(1,2,3,4);

truncate table some_other_table;

</sql>


11. 发送邮件
使用SMTP服务器发送邮件
<mail mailhost="smtp.myisp.com" mailport="1025" subject="Test build">
<from address="me@myisp.com"/>
<to address="all@xyz.com"/>
<message>The ${buildname} nightly build has completed</message>
<fileset dir="dist">
<includes name="**/*.zip"/>
</fileset>
</mail>
mailhost: SMTP服务器地址
mailport: 服务器端口
subject: 主题
from: 发送人地址
to: 接受人地址
message: 发送的消息
fileset: 设置附件

分享到:
评论

相关推荐

    shell ant sed命令

    标题中的"shell ant sed命令"涉及的是三种在Unix/Linux及类似操作系统中常用的命令行工具,它们在IT领域尤其是软件开发和系统管理中扮演着重要角色。 1. **Shell**:Shell是操作系统提供的一种命令行解释器,允许...

    ANT的常用标签练习

    ## ANT常用标签 1. **`&lt;project&gt;`**:这是Ant构建文件的根元素,用于定义整个构建的基本信息,如项目名称、版本以及默认目标。 2. **`&lt;target&gt;`**:定义一个可执行的任务或一系列任务,每个target都有一个唯一的...

    Apache Ant自动化脚本入门教程及常用命令介绍

    ### Apache Ant自动化脚本入门教程及常用命令介绍 #### 一、Apache Ant简介 Apache Ant 是一款用于自动化软件构建流程的工具,广泛应用于 Java 开发环境中。Ant 的核心优势在于其强大的跨平台能力,因为它是完全由...

    打包工具 Ant 学习指南

    Ant内置了许多常用的任务,如编译源代码(javac)、拷贝文件(copy)、删除文件(delete)等。这些任务可以通过XML标签的形式在build.xml中调用,例如: ```xml ``` 在这个例子中,`&lt;javac&gt;`任务用于编译源...

    使用ant 元件所用的 jar 包

    然后,通过运行`ant`命令,Ant会解析build.xml文件并执行其中定义的任务。 总结一下,Ant是一个强大的构建工具,通过XML配置文件进行项目构建。`&lt;jar&gt;`任务是Ant中的一个重要组件,用于创建JAR文件。在使用Ant时,...

    DBUnit最佳实践之使用ant命令

    DBUnit 是一个 Java 开发者常用的数据库测试工具,它与JUnit等测试框架配合,能够帮助开发者在测试过程中管理和填充数据库,确保数据的一致性和准确性。本文将深入探讨如何结合Ant构建自动化测试流程,利用DBUnit...

    ant脚本资料ant

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

    Android开发常用命令整理

    Android 开发常用命令整理 Android 开发中,经常使用的一些命令可能会被遗忘,因此整理了一些常用的命令,以便随时查看。 创建 Android 虚拟设备(AVD) 使用 `android create avd -n &lt;name&gt; -t &lt;target&gt;` 命令...

    我的ant脚本

    我的ant脚本,用于打包文件,其中包含了常见的jar包工具,学习常用的ant命令

    ANT-build.xml命令详解

    **ANT-build.xml命令详解** Apache Ant 是一个Java平台上的开源构建工具,它通过XML格式的配置文件(如`build.xml`)来定义构建任务。Ant的设计理念是“简单就是美”,它使得Java项目的构建过程变得可配置且易于...

    ant和bat资料

    这份文档可能会涵盖基础语法、常用命令、条件语句、循环结构、错误处理等方面,对初学者来说非常有价值。 综上所述,Ant和Bat在IT领域中扮演着重要角色。Ant作为Java项目构建的工具,通过XML配置文件实现项目的编译...

    ANT-5 Remote Control User Manual.pdf

    - **常用SCPI命令**:列举了一些常用的SCPI命令,如*CLS、*ESE、*ESE?等,方便用户快速查找和使用。 - **配置发射器的SCPI命令**:提供了一系列专门用于配置发射器的命令列表。 - **配置接收器的SCPI命令**:同样...

    自定义AntTask简单实例

    在Java开发过程中,Apache Ant是一个常用的构建工具,它允许开发者通过XML配置文件来定义构建过程。Ant的核心功能包括编译、测试、打包和部署等,但有时这些预定义的任务并不能满足特定项目的需求。这时,我们可以...

    ANT自动更新工具

    Ant是Java开发中常用的一个任务驱动的构建工具,通过XML配置文件来定义和执行各种构建任务。在本文中,我们将详细探讨如何有效地使用ANT自动更新工具。 首先,为了开始使用ANT,你需要将`ant`文件夹放置在计算机的...

    linux常用命令总结

    常用命令包括`yum update`更新所有软件,`yum install`安装软件,`yum update`更新指定软件,`yum list`列出所有可安装软件,`yum remove`卸载软件,`yum provides`查找软件包,`yum clean all`清除缓存。...

    Ant的一些常用操作

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

    HelloWorld Ant

    Apache Ant是Java开发中常用的自动化构建工具,它以XML格式定义项目构建过程,替代了传统的Makefile。在这个示例中,我们将深入理解Ant的基本概念、安装步骤、配置文件以及如何运行一个简单的“Hello World”任务。 ...

Global site tag (gtag.js) - Google Analytics