Ant 基础

来源:互联网 发布:淘宝宝贝详情视频代码 编辑:程序博客网 时间:2024/06/05 02:27

ANT的安装和配置(windows)

ANT的安装/配置笔记

使用ant脚本,对java web项目,编译、打包、发布部署到tomcat

ANT打包编译部署工具学习笔记

用Ant打包war的简单流程

 

ant.bat -f D:\AntTest\build.xml distant.bat -f D:\AntTest\build.xml deployant -f D:\AntTest\build.xml undeploy

 

Example1:

生成两个jar包,一个是源文件Jar,一个是编译后的Class文件Jar

 

<?xml version="1.0"?>   <project basedir="." default="dist" name="Project Argon">        <description>A simple Java project</description>            <property name="srcDir" location="${basedir}/src"/>       <property name="buildDir" location="${basedir}/build"/>       <property name="distDir" location="${basedir}/dist"/>          <target name="init">          <tstamp/>          <mkdir dir="${buildDir}"/>          <mkdir dir="${distDir}"/>       </target>             <target name="compile" depends="init">          <javac srcdir="${srcDir}" destdir="${buildDir}"/>       </target>          <target name="dist" depends="compile">          <jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">            <manifest>              <attribute name="Built-By" value="${user.name}"/>              <attribute name="Main-Class" value="package.Main"/>            </manifest>          </jar>          <jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>       </target>          <target name="clean">         <delete dir="${buildDir}"/>         <delete dir="${distDir}"/>       </target>   </project> 

 

Example2:

项目中:

<?xml version="1.0" encoding="UTF-8"?><project basedir="." default="jar" name="ESB_YS_YS_InquiryMachineInfoSrv"><!-- ################ --><!-- #  properties  # --><!-- ################ --><property name="src.dir" value="${basedir}/src" /><property name="build.dir" value="${basedir}/build"/><property name="build.classes.dir" value="${build.dir}/classes"/><property name="application.dir" value="D:\jboss-5.1.0.GA\"/><!-- ################## --><!-- # dependency lib # --><!-- ################## --><path id="lib.classpath"><fileset dir="${application.dir}/client" ><include name="**/*.jar" /></fileset><fileset dir="${application.dir}/common" ><include name="**/*.jar" /></fileset></path><!-- ########### --><!-- #  clean  # --><!-- ########### --><target name="clean"><delete dir="${build.dir}"/><delete file="${basedir}/${ant.project.name}.jar"/></target><!-- ########### --><!-- #   init  # --><!-- ########### --><target name="init" depends="clean"><mkdir dir="${build.dir}"/><mkdir dir="${build.classes.dir}"/><copy includeemptydirs="false" todir="${build.classes.dir}"><fileset dir="${src.dir}"><exclude name="**/*.java" /></fileset></copy></target><!-- ############# --><!-- #  compile  # --><!-- ############# --><target name="compile" depends="init"><javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" encoding="utf-8" deprecation="on" optimize="off" includes="**" includeantruntime="yes"><classpath refid="lib.classpath" /></javac></target><!-- ############# --><!-- #    jar    # --><!-- ############# --><target name="jar" depends="compile"><jar jarfile="${basedir}/${ant.project.name}.jar"><fileset dir="${build.classes.dir}"/></jar></target><!-- ############ --><!-- #  deploy  # --><!-- ############ --><target name="deploy" depends="undeploy"><copy includeemptydirs="false" todir="${application.dir}/server/default/deploy" file="${basedir}/${ant.project.name}.jar"/></target><!-- ############## --><!-- #  undeploy  # --><!-- ############## --><target name="undeploy"><delete file="${application.dir}/server/default/deploy/${ant.project.name}.jar"/></target></project>

 

 Example3:

.net项目提交前删除各层的DLL和pdb

clean-DLL.bat:

:: execute ant 注释ant -f clean-DLL.xmlpause

 clean-DLL.xml:

<project name="clean-DLL" default="clean-DLL" basedir="."><target name="clean-DLL"><delete verbose="true" includeEmptyDirs="true"><fileset dir="${basedir}"><include name="*/bin/Debug/**/*" /><include name="*/obj/Debug/**/*" /></fileset></delete><delete verbose="true" dir="${basedir}/Web/bin" /><delete verbose="true" includeEmptyDirs="true"><fileset dir="${basedir}/Web/"><include name="logs/**/*" /></fileset></delete></target></project>

  Example4:

 一个WEB工程打包为WAR包并部署到Jboss:

<?xml version="1.0"?><project name="JBoss" default="war" basedir=".."><property environment="env"/><property name="app.dir" value="${basedir}/JWS"/><property name="src.dir" value="${app.dir}/src"/><property name="jboss.home" value="${env.JBOSS_HOME}"/><property name="jboss.server.config" value="default"/><property name="build.dir" value="${app.dir}/build"/><property name="build.classes.dir" value="${build.dir}/classes"/><!--Build classpath --><path id="build.classpath"><fileset dir="${basedir}/lib"><includename="**/*.jar"/></fileset><pathelement location="${build.classes.dir}"/></path><!--=================================================================== --><!--Preparesthebuild directory --><!--=================================================================== --><target name="prepare" depends="clean"><mkdir dir="${build.dir}"/><mkdir dir="${build.classes.dir}"/></target><!--=================================================================== --><!--Compilesthesourcecode --><!--=================================================================== --><target name="compile" depends="prepare" description="编绎web 服务"><javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="**"><classpath refid="build.classpath"/></javac></target><!--Build thetestdeployments--><target name="war" depends="compile" description="创建WS 发布包"><war warfile="${app.dir}/Services.war" webxml="${app.dir}/WEB-INF/web.xml"><classes dir="${build.classes.dir}"><include name="com/foshanshop/ws/HelloWorldService.class"/></classes></war></target><target name="deploy" depends="war"><copy file="${app.dir}/Services.war" todir="${jboss.home}/server/${jboss.server.config}/deploy"/></target><!--=================================================================== --><!--Cleansup generatedstuff --><!--=================================================================== --><target name="clean"><delete dir="${build.dir}"/></target></project>

 

 

 

2、Linux下ANT的安装

 

1。下载

    下载地址:http://ant.apache.org/bindownload.cgi 下载apache-ant-1.8.1-bin.tar.gz(当前最新版本),将该下载包拷贝到/usr/local下(随意了,找个地方就好)

2。解压

     cd /usr/local  

     tar -zxvf apache-ant-1.8.1-bin.tar.gz

     解压后会在/usr/local 下生成一个文件夹apache-ant-1.8.1

3。配置环境变量

     (ant是基于java的,所以要先确保系统中已经安装了jdk)

     vi /etc/profile,如下所示

Java代码  收藏代码
  1. # System wide environment and startup programs, for login setup  
  2. # Functions and aliases go in /etc/bashrc  
  3. JAVA_HOME=/usr/java/jdk  
  4. JAVA_BIN=/usr/java/jdk/bin  
  5. PATH=$JAVA_HOME/bin:$PATH  
  6. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  7. export JAVA_HOME JAVA_BIN PATH CLASSPATH  
  8. 以下省略……  

 

添加如下内容:

Java代码  收藏代码
  1. ANT_HOME=/usr/local/apache-ant-1.8.1  
  2.   
  3. PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH  
Java代码  收藏代码
  1. export JAVA_HOME JAVA_BIN ANT_HOME PATH CLASSPATH  

 

修改后如下所示:

Java代码  收藏代码
  1. # System wide environment and startup programs, for login setup  
  2. # Functions and aliases go in /etc/bashrc  
  3. JAVA_HOME=/usr/java/jdk  
  4. JAVA_BIN=/usr/java/jdk/bin  
  5. ANT_HOME=/usr/local/apache-ant-1.8.1  
  6. PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH  
  7. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  8. export JAVA_HOME JAVA_BIN ANT_HOME PATH CLASSPATH  

 [root@web jlib]# echo $ANT_HOME
/opt/apache/apache-ant-1.8.1
[root@web jlib]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/opt/apache/apache-ant-1.8.1/bin:/usr/java/jdk1.6.0_20/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

 

cd /usr/bin

ln -s -f /usr/local/ant/bin/ant

 

运行ant -version,输出如下内容:

[root@localhost ~]# ant -version
Apache Ant version 1.8.1 compiled on April 30 2010

ok,ant配置完成。

 

 

 

原创粉丝点击