`
uule
  • 浏览: 6349055 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

Ant 基础

    博客分类:
  • ant
 
阅读更多

ANT的安装和配置(windows)

ANT的安装/配置笔记

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

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

用Ant打包war的简单流程

 

ant.bat -f D:\AntTest\build.xml dist
ant.bat -f D:\AntTest\build.xml deploy
ant -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.xml

pause

 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配置完成。

 

 

 

分享到:
评论

相关推荐

    ant基础知识介绍

    ant简介,包含ant的安装下载,简单的例子,以及ant标签的介绍和实例

    ant基础教程(pdf版)

    ### ant基础教程知识点详解 #### 一、Ant简介与基本概念 **Ant** 是一个流行的构建工具,主要用于Java项目的构建和部署。它采用XML来定义构建逻辑,这使得构建脚本更加直观且易于理解。 ##### **1.1 Ant 的概念**...

    ANT 基础学习小结

    ### ANT基础学习小结 #### 一、Ant简介与应用场景 Apache Ant 是一个Java环境下的构建工具,主要用于软件编译、测试、部署等自动化任务。它通过XML来定义构建过程,使得开发者能够轻松地管理项目的构建流程。在很...

    ant基础教程集合

    下面,我们将深入探讨Ant的基础知识,包括其核心概念、基本结构、配置文件build.xml的解析以及一些实用实例。 一、Ant核心概念 1. **任务(Task)**:Ant的工作单元,执行特定的构建任务,如`javac`用于编译Java源码...

    Ant入门Ant入门Ant入门

    ### Ant入门知识点详解 ...通过学习本教程,您不仅可以掌握Ant的基础使用方法,还能了解到如何利用其高级特性来提高开发效率。无论您是初次接触Ant还是已经有一定的使用经验,都能够从中获益匪浅。

    Ant 基础知识理解

    Ant是Apache组织开发的一款基于Java的构建工具,它在Java应用程序的构建、打包和安装过程中扮演着事实上的标准角色。Ant的主要目标与Unix系统中的make工具类似,但是它使用XML来编写构建文件,使得构建过程跨平台...

    ant使用基础啊

    ant基础 1,什么是ant ant是构建工具 2,什么是构建 概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个 3,ant的好处 跨平台 --因为ant是使用...

    Ant应用开发指南(学习ant的必备资料)

    ### 三、Ant基础知识 在掌握了Ant的安装与基本配置后,开发者将逐步探索Ant的基本概念与操作流程。这部分内容涵盖了Ant的核心功能与语法,包括但不限于: - 如何创建Ant的构建脚本(即build.xml文件)。 - Ant任务...

    ant开发指南用于说明ant一些相关信息

    二、Ant基础知识 1. **构建文件(build.xml)**:这是Ant的核心配置文件,所有构建规则都定义于此。构建文件采用XML格式,易于阅读和维护。主要元素包括`&lt;project&gt;`、`&lt;target&gt;`、`&lt;task&gt;`等,用于组织和执行构建...

    Ant 入门资料(完整版)

    "Ant 入门讲解视频(22分03秒)":这个视频教程可能是对Ant基础知识的直观介绍,包括Ant的安装、基本配置文件build.xml的结构、任务(tasks)、目标(targets)的概念,以及如何定义文件集(filesets)和属性...

    Ant学习资料大全全全全全

    对于已经有一定Ant基础的开发者来说,这本书能帮助他们提升Ant的使用技巧,解决实际项目中的问题。 最后,我们有《Ant.pdf》。虽然没有明确的书名,但根据常见命名习惯,这可能也是一份Ant的教程或指南,可能涵盖了...

    Ant部署WebService服务

    1. **Ant基础**: - Ant是一个基于XML的脚本语言,其配置文件通常命名为`build.xml`,其中定义了构建过程的各种任务(tasks)。 - `build.xml`中的目标(target)是构建过程的步骤,它们可以相互依赖,形成构建...

    ant(pdf)

    ### Ant基础教程 #### 一、Ant简介 **Ant**是一种强大的自动化构建工具,它主要用于Java项目的构建过程。Ant的设计理念简洁且易于理解,通过一套简单的XML格式来定义项目的构建规则,非常适合那些希望减少手动构建...

    Apache Ant Tutorial.pdf

    #### 三、Apache Ant 基础概念 ##### 构建脚本 Ant 使用 XML 格式的文件来定义构建任务,这些文件通常称为构建脚本。构建脚本是 Ant 的核心组成部分,通过这些脚本可以定义项目的构建规则和流程。 ##### 任务...

    ant-1.6.5.jar

    一、Ant基础 Ant是一个开源项目,最初由James Duncan Davidson在1998年为Jakarta项目创建,后来成为Apache软件基金会的一部分。它的设计理念源于Make,但针对Java环境进行了优化,避免了Make在处理Java项目时的局限...

    ant-1.7+中文教程

    1. **Ant基础**:介绍Ant的基本概念,包括build.xml文件的结构,以及如何定义项目的目标(target)和任务(task)。 2. **任务(Task)**:Ant的核心是任务,比如`javac`用于编译Java源码,`jar`用于打包成JAR文件,`copy...

    Ant_的最完整build.xml解释,Ant入门与进阶

    一、Ant基础 1. Ant的概念:Ant是一个基于Java的任务驱动的构建系统,它允许开发者编写一系列的任务,通过这些任务来执行构建过程。Ant的主要优点是可移植性和灵活性,它的配置文件build.xml是跨平台的,可以用于...

Global site tag (gtag.js) - Google Analytics