ant01--基础的build.xml

来源:互联网 发布:股票网络销售技巧 编辑:程序博客网 时间:2024/05/01 04:43

1. 从http://ant.apache.org/上下载ant的最新版本;

2. 解压,配置环境变量ANT_HOME和PATH;

3.在cmd后输入ant 有 相关提示就是安装成功了,否则不会有这个命令;

4. 在eclipse里开发的时候可以让它自动为我们生成build.xml文件,在项目上右键export->gereral->Ant Builderfiles(有的eclipse版本没有这个选项比如3.5.0版本,请下载3.7.2以上     的版本),这样xml里就有了自动提示了,写起来特别的方便;

5.以下是我上手的一段代码,从helloworld小程序开始: 

<project name="HelloWorld" default="local.deploy" basedir=".">   <!--设置项目名称,设置要允许到的操作级数以及根目录-->
<property name="src" value="src"/>                  <!--变量区  常量用value  路径用location(这样可以减去OS不同的麻烦)-->
<property name="dest" value="dest/classes"/>
<property name="hello_jar" value="hello1.jar"/>
<property name="lib" value="lib"/>   (如果属性太多 可以建立一个build.properties文件 加入键值对如lib = lib,但是路径的不建议这么做,在xml引用的是<property file="build.properties"/>)
<target name="init">                                             <!--初始化操作-->
<mkdir dir="${dest}"/>
</target>
<target name="compile" depends="init">        <!--编译操作,调用javac命令-->
<javac srcdir="${src}" destdir="${dest}"/>
</target>
<target name="build" depends="compile">       <!--打包操作-->
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<target name="run" depends="build">                <!--运行java程序操作-->
<java classname="hust.edu.HelloWorld" classpath="${hello_jar}"/>
</target>
<target name="clean">                                         <!--删除临时文件操作-->
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
<property name="dist.dir" location="dest"/>                   <!--从这里开始讲解的是为web应用程序打包的操作--->
<property name="project.name" value="myTest"/>      <!--设置工程名-->
<property name="project.version" value="1.1"/> <!--设置工程版本-->
<target name="war" depends="compile"> <!--打war包操作-->
<war destfile="${project.name}-${project.version}.war" needxmlfile="false">      
<classes dir="${dist.dir}"></classes> <!--将生成的class文件打进去-->
<lib dir="${lib}"><include name="*.jar"/></lib> <!--将第三方lib库打进去-->
</war>
</target>
<property name="tomcat.install.dir" location="D://学习软件//tomcat6.0//Tomcat 6.0"/> <!--设置tomcat安装路径-->
<target name="local.deploy" depends="war"> <!--部署操纵-->
<copy file="${project.name}-${project.version}.war" todir="${tomcat.install.dir}/webapps/manager"/> <!--开始复制文件到项目下-->
</target>
</project>

6. 运行:你可以在eclipse里运行那个build.xml文件 ,控制台会显示相关运行信息;还有一种方法就是在dos里运行,进去到build.xml所在目录,输入ant回车即可,你也可以带参数运行,比如ant build 、ant compile 、ant run 等,就是你想让它为你运行到哪一步骤操作就停止。


再来贴一个build.xml给大家:

  <?xml version="1.0" encoding="UTF-8"?>
-<project default="execute">
  <property name="build.dir" location="build" />
- <!--
使用属性定义相应的路径时,一定使用location而不要使用value
  -->
  <property name="build.classes" location="${build.dir}\classes" />
  <property name="build.src" location="${build.dir}/src" />
  <property name="build.lib.dir" location="${build.dir}/dist" />
- <!--
<property name="execute.class" value="ant.zttc.edu.cn.HelloWorld"/><property name="jar.name" value="hello.jar"></property>
  -->
- <!--
如果属性太多,可以将属性放置到一个外部文件中定义,之后进行引用  特别注意:如果是路径不建议在外部文件中定义,因为此时就不会设置location的值
  -->
  <property file="build.properties" />
- <!--
把环境变量中的参数到处到env这个变量中
  -->
  <property environment="env" />
-<target name="test">
  <echo>${ant.home}</echo>
  <echo>${ant.version}</echo>
  <echo>${env.CATALINA_HOME}</echo>
  <echo>${env.OS}</echo>
  </target>
- <!--
fileset可以设定一组文件集来进行操作,dir指明文件集要进行选择的路径,通过id可以指定这个文件的名称,在使用的时候进行直接的引入include和exclude可以设定包含返回和排除范围**/*.*所有目录中的所有文件
  -->
-<fileset id="src.path" dir="src">
  <include name="**/*.*" />
- <!--
<exclude name="**/*.java"/>
  -->
  </fileset>
-<target name="init">
  <delete dir="${build.dir}" />
  <mkdir dir="${build.dir}" />
  <mkdir dir="${build.src}" />
  <mkdir dir="${build.classes}" />
  <mkdir dir="${build.lib.dir}" />
  </target>
-<target name="copySrc" depends="init">
-<copy todir="${build.src}">
  <fileset refid="src.path" />
  </copy>
  </target>
-<target name="compile" depends="init">
  <javac destdir="${build.classes}" srcdir="src" />
  </target>
-<target name="jar" depends="compile">
-<jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}">
-<manifest>
  <attribute name="Main-Class" value="${execute.class}" />
  <attribute name="Build-By" value="Konghao" />
  </manifest>
  </jar>
  </target>
-<target name="execute" depends="jar,copySrc">
  <echo>基于类路径的classname来完成执行</echo>
-<java classname="${execute.class}" classpath="${build.classes}">
  <arg value="张三" />
  <arg value="李四" />
  <arg value="王五" />
  </java>
  <echo>基于jar文件执行</echo>
-<java jar="${build.lib.dir}/${jar.name}" fork="true">
  <arg value="张三" />
  <arg value="李四" />
  <arg value="王五" />
  </java>
  </target>
</project>

原创粉丝点击