首页
JAVA笔记
数据库笔记
混乱记忆
小站记
您现在的位置
ant 笔记示例
简介: 学习ant语法记录的一个笔记,发布出来帮助更多需要的人

学习ant语法记录的一个笔记,发布出来帮助更多需要的人

<project name="EjbTest" default="ejbjar" basedir="..">
<!-- name 项目名称,default 默认执行到targer项,basedir 基础位置 -->

<property environment="env" /> <!-- 将环境变量映射到 env。之后的操作可以通过env 来读取环境变量的值 -->

<property name="app.dir" value="${basedir}\EjbTest" />
<!-- name 目录引用名。 value 引用的位置。${basedir} 将获得basedir引用的值 -->

<property file="ann.properties"/>                     <!-- 读取ann.properties 文件 -->

 


<path></path><!-- 设置 classpath 的值 -->
示例:
<path id="build.classpath">
 <fileset dir="${jboss.home}\client">
  <include name="*.jar" />   
 </fileset>
 <pathelement location="${build.classes.dir}" />
</path>


<fileset></fileset> <!-- 处理文件集合 -->
<include /><!-- 文件过滤 -->
示例:将获得${jboss.home}\client目录下的所有jar文件
<fileset dir="${jboss.home}\client">
 <include name="*.jar" />   
</fileset>


<target/>
<!-- 定义一个目标。在定义一个目标的时候可以指定上一个目标,
只有上一个目标完成后才会执行这个目标 -->
例如:
<target name="prepare" depends="clean">                 <!-- name:目标名 depends:上一个目标名-->
 <mkdir dir="${build.dir}" />
 <mkdir dir="${build.classes.dir}" />
</target>

<mkdir> <!-- 建立文件夹-->
示例:
<target name="prepare" depends="clean">
 <mkdir dir="${build.dir}" />  <!-- 建立一个目录,目录为build.dir的值的位置-->
 <mkdir dir="${build.classes.dir}" />
</target>

<javac> <!-- 编译 -->
示例:
<target name="compile" depends="prepare" description="编绎">
 <javac srcdir="${src.dir}" destdir="${build.classes.dir}"
  debug="on"                               <!-- 开启输出调试信息 -->
  deprecation="on"                         <!-- 输出使用已过时的 API 的源位置 -->
  optimize="off"                           <!-- 优化编译 -->
                source="1.5"               <!-- 指定代码版本版本 -->
                target="1.5"               <!-- 指定编译代码生成版本 -->
  includes="com/**">                       <!-- 编译文件集合 -->
  <classpath refid="build.classpath" />    <!-- 引用classPath -->
 </javac>
</target>

 


<jar><!-- 打包成jar文件-->
示例:
<jar jarfile="${app.dir}\HelloWorld.jar">     <!-- jarfile:打包完成后jar的放置位置和名称-->
 <fileset dir="${build.classes.dir}">     <!-- 指定文件集合用于打包-->
  <include name="com/**/*.class" /> <!-- 过滤集合中的文件-->
 </fileset>
</jar>

 

<war>  <!-- 自动部署的war文件 -->
示例:
<war destfile="${dist.home}/${product}.war"
 basedir="${dist.home}/webroot" />
 


<zip>  <!-- 压缩包文件 -->
示例:
<zip destfile="${dist.home}/${product}.src.zip"
 basedir="${dist.home}/src" />

 

 


<copy> <!-- 拷贝文件-->
示例:
<copy file="${app.dir}\HelloWorld.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy" />
<!-- file:源文件 todir:目标目录-->

<copy todir="../new/dir">                               <!-- 拷贝一个目录到../new/dir 目录中 -->
<fileset dir="src_dir"/>                                <!-- 设置源目录 -->
   <exclude name="**/*.java"/>                          <!-- 设置拷贝时不拷贝哪些文件 -->
   <include name="com/**/*.class" />                    <!-- 设置拷贝时拷贝哪些文件 -->
   <globmapper from="*" to="*.bak"/>                    <!-- 建立备份文件 -->
</fileset>
</copy>

 


<copydir> <!-- 拷贝一个目录下的东西到另一个目录下 -->
示例:
<copydir src="${src}/resources" dest="${dest}" includes="**/*.java" excludes="**/Test.java"/>
<!-- src:源文件 dest:目标 includes:包含哪些文件 excludes:不包含哪些文件-->

 


<delete> <!-- 删除目标 -->
示例:
<target name="clean">
 <delete dir="${build.dir}" />                   <!-- 删除文件夹 -->
 <delete file="${jboss.home}\server\${jboss.server.config}\deploy\HelloWorld.jar" />  <!-- 删除部署文件 -->
</target>

 

<move>  <!-- 移动文件 -->
示例:
<move todir="some/new/dir">                             <!-- todir:移动到某文件夹下 -->
<fileset dir="my/src/dir">                              <!-- dir:移动某文件夹下的文件 -->
   <include name="**/*.jar">                            <!-- dir:移动文件包括 -->
   <exclude name="**/ant.jar/>                          <!-- dir:移动文件不包括 -->
</fileset>
</move>

<rename>  <!-- 重命名文件 -->
示例:
<rename src="ann.jar" dest="ant-${version}.jar/>        <!-- src:源文件名   dest:目标文件名 -->


<checksum> <!-- 生成MD5值 -->
示例:
<checksum file="ann.bar" property="annbarMD5"/>         <!-- file:源文件名   property:用于保存MD5值的 变量 -->


<echo> <!-- 显示信息 -->
示例:
<echo message="清除临时文件..." />                       <!-- 将 message 的值显示在控制台 -->


<svn>  <!-- svn代码库操作  -->
示例:
<target name="export" depends="prepare">
  <echo message="开始从 ${svn.repository.url} 检出源码" />
 <svn javahl="true" username="${svn.repository.user}"
  password="${svn.repository.password}">          <!-- 设置连接类型  和连接时使用的用户名和密码 -->
  <checkout url="${interface.repository.url}"            <!-- 下载代码。url:svnURL  -->
  destPath="${com.primeton.bfs.interface}"        <!-- 下载代码。destPath:下载到的位置  -->
  revision="HEAD" />                              <!-- revision="HEAD" 下载最新代码 -->
  <checkout url="${client.repository.url}" destPath="${com.primeton.bfs.client.home}" revision="HEAD" />
 </svn>
  <echo message="从 ${svn.repository.url} 检出源码成功...." />
</target>


<ant>  <!-- 编译外部ANT文件  -->
示例:
<target name="designer">
  <ant antfile="build_designer.xml" target="compile" />  <!-- 执行外部文件antfile中的对应的target中的脚本-->
 </target>