<?xml version="1.0" encoding="UTF-8"?>
<project default= "compile" basedir= "." name= "testant" >

                    <description>

                        一段描述信息,没有实际作用。

                      </description>

           <property name= "src" value= "src" />

           <property name= "dest" value= "build" />

           <property name= "dist" value= "dist" />

          <property name= "lib.dir" value= "lib" />

           <property name= "testant_jar" value= "testant.jar" />

           <property name= "product.jar.name" value= "${project.name}.jar" />

           <property name= "product.war.name" value= "${project.name}.war" />

<!--property 元素相当于变量,存放一定的值,一旦给定以后不能改变,只能通过控制台命令行给初始值。一般用 value
给其赋值,可以用 location 代替 value 是因为 location
属性专门设计用于以平台无关的方式包含文件系统路径,也就是当前路径。-->

<!--一个target 元素就是一个任务,一个步骤,如果命令行没有指定开始任务,则由 project 元素的 default 属性决定要执行的任务-->

<!--mkdir 元素用来创建目录 dir 属性用来指定目录路径-->

         <target name= "init" description= "在元素中指定描述信息" >

              <echo message= "这里的信息将被输出到控制台!" />

              <mkdir dir= "${dest}"/>

              <mkdir dir= "${dist}"/>

              <mkdir dir= "${dest}/src" />

             <mkdir dir= "${dest}/webdocs" />

        </target>

<!--delete 元素用来删除目录 $ 引用 property 元素指定的 name为dest、dist的属性变量-->

         <target name= "clean" >

                <delete dir= "${dest}"/>

                <delete dir= "${dist}" />

         </target>

<!--javac 元素把 srcdir 指定目录下所有
*.java 文件编译成 *.class 文件到 destdir 指定的目录下!如果不指定 destdir
属性,那么默认编译到同一目录下。其他属性:classpath:等价于javac 的-classpath
选项,指定所使用的类路径;debug="on":指示编译器应该带调试信息编译源文件。-->

          <target name= "compile" depends= "init">

                         <javac srcdir= "${src}" destdir= "${dest}/src" debug= "on"/>

        </target>

<!--将项目源文件打jar包-->

           <target name= "create-jar" depends= "compile" >

                <echo message= "将项目源文件打包jar!" />

                <jar jarfile= "${dist}/${product.jar.name}" >

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

                         <include name= "**/*" />

                       </fileset> </jar>

                     </target>

<!--将项目源文件打war包-->

           <target name= "dist-war" depends= "clean,init,compile,create-jar" >

               <war destfile= "${dist}/${product.war.name}" >

                        <fileset dir= "${dest}/webdocs" ></fileset>

                </war>

  </target>

           <!--将jar,war包导入到jboss制定路径-->

          <target name= "copy-war-to-jboss" depends= "clean,init,compile,create-jar,dist-war" >

                <echo message= "将编译的和导入的jar包导入到jboss下的server/default/lib目录下" />

                <copy todir= "${jboss.home}/server/default/lib" overwrite= "true" >

                    <fileset dir= "${dist}" includes= "*.jar" />

                    <fileset dir= "${lib.dir}" includes= "*.jar" />

               </copy>

               <echo message= "删除历史的war包" />

              <delete dir= "${jboss.home}/server/default/deploy/${product.war.name}" />                <echo message= "将打成的war包拷贝到server/default/deploy目录下" />

              <copy todir= "${jboss.home}/server/default/deploy" overwrite= "true" >

                             <fileset dir= "${dist}" includes= "${product.war.name}" />

               </copy>

            </target>

<!--将jar、war包导入到jboss制定目录,但是和上面的方式不同,不同之处是上面的方法是将war包拷贝到jboss制定目录,而现在先创建一个文件夹(*.war),再将${dest}/webdocs下的内容拷贝到这个文件夹下-->             <target name= "copy-dir-to-jboss" depends= "clean,init,compile,create-jar" >

              <echo message= "将编译的和导入的jar包导入到jboss下的server/default/lib目录下" />

               <copy todir= "${jboss.home}/server/default/lib" overwrite= "true" >

                               <fileset dir= "${dist}" includes= "*.jar" />

                               <fileset dir= "${lib.dir}" includes= "*.jar" />

               </copy>

               <echo message= "删除历史的war包" />

               <delete dir= "${jboss.home}/server/default/deploy/${product.war.name}" />

               <echo message= "再将${dest}/webdocs下的内容拷贝到server/default/deploy/${product.war.name}目录下" />

               <copy todir= "${jboss.home}/server/default/deploy/${product.war.name}" overwrite= "true" >

                             <fileset dir= "${dest}/webdocs" includes= "**/*" />

               </copy>

              </target>

</project>

附件:test的一段ant脚本代码

http://www.cnblogs.com/pony1223/admin/Files.aspx

Ant学习总结2的更多相关文章

  1. ant学习

    如果在构建文件当中depends后面有多个依赖,而且这多个依赖还相互依赖,那么只会执行被依赖的任务,不会重复执行任务 ant学习

  2. 【转】Ant学习笔记——自己构建Ant编译环境

    自从年初开始用NetBeans6.0,才接触到Ant. 这是今年6月份的一篇Ant学习笔记.安装 1.下载并构建环境.   去官网下载src包和bin包.解压缩它们到同一目录,运行build.bat, ...

  3. Ant学习-002-ant 执行 TestNG 测试用例时 [testng] java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 解决方案

    上篇文章中概述了 Ant windows 环境的基本配置,此文讲述在初次使用的过程中遇到的问题. 今天通过 ant 执行 TestNG 测试用例时,执行报错,相应的错误信息如下所示: Buildfil ...

  4. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  5. ant 学习与开发

    ant 学习与开发 http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html

  6. Ant学习实例

    ant   目录(?)[+] Ant学习实例 安装Ant 基础元素 project元素 target元素 property元素 完整示例   Ant学习实例 1.安装Ant 先从http://ant. ...

  7. Ant学习笔记

    前言:这段时间在学习Ant,发现这是一个很强大的构建工具.你可能使用了很长一段时间,才发现Ant能做数不完的事.总之,个人觉得,Ant学习门槛低,入门简单,能大概看懂程序,写一些简单的脚本即可,剩下在 ...

  8. Ant学习笔记(1) 基础知识

    Ant Apache Ant 是一个基于 Java的构建工具. 下载Ant google.baidu.Windows用户下载zip格式.解压即可. Windows安装Ant Ant本质上是一个Java ...

  9. Ant 学习

    到了新公司,发现公司使用ant 来代码生成.本来学习后写下来.在网上找到一篇教程,实在是非常给力... 就把连接记下来吧:http://www.blogjava.net/amigoxie/archiv ...

  10. Ant 学习及常用任务

    安装与配置 下载地址:http://ant.apache.org/bindownload.cgi,解压. 添加系统环境变量: ANT_HOME,该变量指向Ant解压后的根目录. PATH,追加path ...

随机推荐

  1. bzoj-4318 OSU! 【数学期望】

    Description osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...

  2. java实现——008旋转数组的最小数字

    public class T008 { public static void main(String[] args) { int[] num = { 3, 4, 5, 1, 2 }; System.o ...

  3. IOS开发-ObjC-NSString

    NSString是oc语言Foundation框架中常用的类,我根据每个方法的功能将NSString的常用方法分为创建字符串.初始化字符串.判断和比较字符串.大写和小写相互转化.字符串的截取.类型转换 ...

  4. thinkphp ,进行关联模型的时候出现的问题,版本是3.2

    看的后盾网络视频,里面操作的是3.1. 我用的是onethink,基于3.2. 在关联模式的操作时.主要是user role  role_user  3个张表 视频中可以操作,但是本地操作出现问题. ...

  5. HUSTOJ 2796 && SPOJ1811

    传送门:http://begin.lydsy.com/JudgeOnline/problem.php?id=2796 题解:后缀自动机,很裸,但是感觉对后缀自动机还不是特别理解,毕竟我太蒟蒻,等我精通 ...

  6. MAC + java 环境配置

    1. 下载安装 jdk 2. 配置环境 2.1. cd到目录 etc/profile 2.2. 使文件可读:chmod 666 profile model 2.3. 添加环境变量,要切换到etc目录: ...

  7. 让VLC也拥有斷點播放功能

    如何让VLC也拥有记忆功能,记住上次播放位置.以下都是在Windows系统下操作,其他 方法/步骤 下载 libsrpos_plugin-0.5.win 插件 https://sourceforge. ...

  8. 详解Grunt插件之LiveReload实现页面自动刷新(两种方案)

    http://www.jb51.net/article/70415.htm    含Grunt系列教程 这篇文章主要通过两种方案详解Grunt插件之LiveReload实现页面自动刷新,需要的朋友可以 ...

  9. Java 之 web.xml(Java之负基础实战)

    多个web.xml会同时生效,先加载tomcat下的web.xml,再加载网站目录下的web.xml. 1.tomcat自带的web.xml 在tomcat的conf目录下 2.自定义web.xml ...

  10. plupload 异步上传插件使用心得

    plupload 可以不依赖jquery,并且提供了 html5,flash,silverlight,html4 多种上传模式,使用起来比较简单,上一篇博客中介绍了其主要参数哈函数 一.简化用法 &l ...