ant读书笔记

Ant安装

1 下载解压

2 环境变量中设置ANT_HOME 并在Path中添加%ANT_HOME%\bin;

3:设置jdk相关环境变量JAVA_HOME\Path\classpath

classpath: .;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\tools.jar

 

Ant命令参数

例子ant –buildfile myant.xml clean       

    或者用默认build.xml如ant clean jar ,clean和jar均为target名

常用的参数有

-version

- buildfile       指定ant需要处理的构建文件,默认为build.xml

-logfile filename 将日志输出到指定文件

Project标签

<project name=”MyProject” default=”all” basedir=”.”> </project>

Name属性为工程提供名称

Default指构建文件中的一个target名,默认开始执行此target

Basedir 定义了工程的根目录,一般情况下为”.”,相当于目录的参考点

 

Property标签

常见1.<property  name=”src.dir”  value=”src”/>

    2.<property  file=”user.properties”/>

  第一个正常赋值后面可以如此使用${src.dir}

  第二个,加载了一个配置文件,不如配置文件中有mydir=/ome/test,后面也如此使用${mydir}

 

 

path

<path id=”classpath”>

         <filesetdir=”${src.lib}”>

                   <includename=”**/*.jar”/>

         </fileset>

<path>

 

Javac

<javac destdir=”${build.classes}”

            srcdir=”${src.dir}” //多个时src=”${src}:${src2}”

      debug=”on”>

        <exclude name=”ibot/modules/**”/>

       <classpath refid=”classpath”/>

</javac>

 

编译${src.dir}中的源码(不包括ibot/modules下文件),生成结果放入${build.classes}目录中

Jar

1.<jar jarfile=”${build.lib}/ibot.jar”

    basedir=”${build.classes}”

          manifest=MANIFEST.MF”” >

          <manifest>

                   <attribute  name=” Main-class” value=”ibot”>

          </manifest>

          <exclude name=”ibot/modules/**” />   

<jar>

 

打成jar包,同时在jar包中生成META_INF/MANIFEST.MF其中内容为Main-class:ibot

 

2.多处时

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

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

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

</jar>

java

1.<javaclassname="test.Main">

<classpath>

<pathelement  location="dist/test.jar"/>

<pathelement  path="build/classes"/>

</classpath>

</java>

classname中指定要执行的类,classpath设定要使用的环境变量

Javadoc

<mkdir dir=”${doc.dir}/api”

<javadoc packaename=”ibot.*”

        sourcepath=”${src.dir}”

                    destdir=” ${doc.dir}/api”

        author=”true”

        version=”true”

       user=”true”>

                <classpath> 

                <filesetdir="${lib}"> 

                    <includename="*.jar"/> 

                 </fileset> 

                <filesetdir="${tomcat-root}/lib"> 

                    <includename="*.jar"/> 

                 </fileset> 

         </classpath>

</javadoc>

 

war

项目机构如下:

 

<?xmlversion="1.0"?>

<project default="war" basedir="." name="antwebtest">

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

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

     <property name="lib" value="WebRoot/WEB-INF/lib"/>

    <target name="clean">

       <delete dir="build"/>

    </target>

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

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

       <javac srcdir="src" destdir="${classes}"/>

    </target>

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

           <war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">

               <!-- 拷贝WebRoot-->

               <fileset dir="WebRoot" includes="**/*.jsp"/>  

               <fileset dir="WebRoot" includes="image/*"/>  

               <!-- 拷贝lib目录下的jar包-->

               <lib dir="${lib}"/>         

               <!-- 拷贝build/classes下的class文件-->

               <classes dir="${classes}"/>

           </war>

       </target>

</project>

 

mkdir

<mkdirdir="build/classes"/>

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

 

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">

<excludename="**/*.java"/>

</fileset>

</copy>

 

<copy todir="../dest/dir">

<filesetdir="src_dir" excludes="**/*.java"/>

</copy>

(5) 复制文件过程中增加.Bak后缀

< copy todir="my/src/dir">

<filesetdir="my/src/dir">

<exclude name="**/*.bak"/>

</fileset>

<mappertype="glob" from="*" to="*.bak"/>

</ copy >

 

copy

 

delete

(1) 删除一个文件

<deletefile="/lib/ant.jar"/>

(2) 删除指定目录及其子目录

<delete dir="lib"/>

(3) 删除指定的一组文件

<delete>

   <fileset dir="." includes="**/*.bak"/>

</delete>

move

(1) 移动一个文件(重命名)

<move file="file.orig"tofile="file.moved"/>

(2) 移动一个文件到另一个文件夹下面

<move file="file.orig"todir="dir/to/move/to"/>

(3) 将一个目录移到另外一个目录下

<movetodir="new/dir/to/move/to">

<filesetdir="src/dir"/>

</move>

(4) 将一组文件移动到另外的目录下

<move todir="some/new/dir">

<fileset dir="my/src/dir">

<includename="**/*.jar"/>

<excludename="**/ant.jar"/>

</fileset>

</move>

(5) 移动文件过程中增加.Bak后缀

<move todir="my/src/dir">

<filesetdir="my/src/dir">

<exclude name="**/*.bak"/>

</fileset>

<mappertype="glob" from="*" to="*.bak"/>

</move>

 

Echo输出

<echo message="The base dir is: ${basedir}"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值