`
pouyang
  • 浏览: 313107 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ANT 简单使用

 
阅读更多

公司有很多应用,刚开始开发的时候,都是把其他应用的build.xml复制过来,然后自己小改下就ok了,心里一点都不踏实,没有系统仔细的学习下,现写了两个小例子,应该还算比较全的,算巩固下ANT的知识点。

如果要打jar包的话,一般情况下,将ant编译后的文件放在一个目录例如bin目录下,应用的jar包放在ant编译的lib目录下,把bin目录下的文件全部打成一个jar包,lib下的jar包直接放在要使用ant打的jar包的应用中即可。

 

目录结构图如下:

 

例子1:

build.xml:

 

 

<?xml version="1.0" encoding="GBK"?>

<project name="TestAnt" default="build" basedir=".">
	
	<!--1、设置基本属性,设置基本路径,与eclipse的编译路径classes,bin无关-->
	<property name="src" value="src" />
	<property name="lib" value="lib" />
	
	<!--2、设置其他应用的路径(编译依赖工程)-->
	<property name="otherProject" value="../otherProject" ></property>
	
	<!--3、使用ant编译后存放编译文件的路径-->
	<property name="ooo" value="ooo" />

	<!--4、使用ant编译依赖的编译环境-->
	<path id="classpath">
		<pathelement location="bin" />
		<fileset dir="${lib}" includes="*.jar" />
	</path>
	
	<!--5、编译提示 -->
	<target name="usage">
		<property name="Name" value="TestAnt"  ></property>
		<property name="date" value="2011-08-11 22:09:30"  ></property>
		<echo message="----------------------- ${Name} [${date}] -----------------------" />
	</target>
	
	<!--6、创建使用ant编译存放编译文件的路径,先清除路径-->
	<target name="clean">
			<delete dir="${ooo}"></delete>
	</target>
	<target name="init">
		<mkdir dir="${ooo}" />
		<mkdir dir="${ooo}/lib"/>
	</target>
	
	<!--7、使用ant编译,并将编译的class文件放在 ${ooo}目录下 -->
	<target name="compile">
		<javac srcdir="${src}" destdir="${ooo}" debug="true" includes="**" >
				<classpath refid="classpath" />
		</javac>
	</target>
	
	<!--8、将scr下的非java类复制到${ooo}路径下(注意路径的一致性!)-->	
	<target name="copy">
		<copy todir="${ooo}">
			<fileset dir="${src}">
				<include name="**"/>
				<exclude name="**.properties" />
				<exclude name="**/*.properties" />
			</fileset>
		</copy>
		 <copy todir="${ooo}/lib" >
		 	<fileset dir="${lib}" >
		 		<include name="*.jar" />
		 	</fileset>
		 </copy>
	</target>
	<!--创建文件-->
<touch file="${classes.dir}/log/settle.log" ></touch>

<!--打包-->
<target name="init">
<jar destfile="${lib.dir}/stl-core.jar">
	<fileset dir="${frametemp}">
		<include name="**" />
	</fileset>
</jar>
</target>

<!-- 打包 -->
<target name="pack" depends="compile" description="make .jar file">
		<mkdir dir="${dist.dir}" />
		<jar destfile="${dist.dir}/stl-core.jar" basedir="${classes.dir}">
		</jar>
</target>
	<!--9、将ant编译的文件(${ooo}下的文件)打成jar包,可以有选择路径-->
	<target name="build.jar">
		<jar jarfile="${ooo}/xxx.jar" basedir="${ooo}" includes="**" />
	</target>
	
	<!--ant 编译执行 build 由 default="build" 决定 -->
	<!--执行build 依赖 usage,clean,init,compile,copy,build.jar,按顺序执行-->
	<target name="build" depends="usage,clean,init,compile,copy,build.jar" >
	</target>
</project>

 

 

例子2:

 

 

<?xml version="1.0" encoding="GBK"?>
<project name="pub_busi_plat" default="build" basedir=".">
	
	<property name="src" value="src" ></property>
	<property name="lib" value="WebRoot/WEB-INF/lib" ></property>
	<property name="script" value="script" ></property>
	<property name="config" value="config" ></property>
	<property name="classes" value=".build" ></property>
	
	<path id="Test_ouyangping.classpath" >
			<pathelement location="WebRoot/WEB-INF/classes" />
			<fileset dir="WebRoot/WEB-INF/lib" includes="*.jar" />
	</path>
	
	<target name="clean">
		<delete dir="${classes}" ></delete>
	</target>
	
	<target name="init">
			<mkdir dir="${classes}"/>
			<mkdir dir="${classes}/bin"/>
			<mkdir dir="${classes}/lib"/>
			<mkdir dir="${classes}/script"/>
			<mkdir dir="${classes}/log"/>
			<touch file="${classes}/log/system.log" > </touch> <!-- 创建文件 -->
	</target>
	
	<target name="compile">
		<javac srcdir="${src}" destdir="${classes}/bin" debug="no" >
			<classpath refid="Test_ouyangping.classpath" ></classpath>
		</javac>
	</target>
	
	<target name="copy">
		<copy todir="${classes}/bin" >
				<fileset dir="${src}" >
					<include name="**/*.xml" />
				</fileset>
				<fileset  dir="${config}" >
					<include name="**/*" />
				</fileset>
		</copy>
		<copy todir="${classes}/lib" >
			<fileset dir="${lib}">
				<include name="*.jar" />
			</fileset>
		</copy>
		<copy todir="${classes}/script">
			<fileset dir="${script}" >
				<include name="*" />
			</fileset>	
		</copy>
	</target>
	<target name="build" depends="clean,init,compile,copy" ></target>
</project>

 

 

<replace dir="${classes.home}/bin/com/umpay/tsm/db/sql" includes="*.xml" encoding="UTF-8">

<replacefilter token="@SCHEMA@" value="${schema}"/>

</replace> 可替换文本

 

javac指定jdk版本:http://neoman.iteye.com/blog/571806

为 javac 任务指定target属性,取值为:1.3、1.4、1.5 即自己需要编译源码的版本

 

 

   #自动执行测试代码,并输出测试代码报告:

 

 

 <target name="junitTest" depends="build"> 
				 <junit printsummary="on" fork="true" showoutput="true"> 
					 <classpath> 
					 	<!--
						 <fileset dir="lib" includes="**/*.jar"/> 
						 <pathelement path="${junit.classpath}"/> 
					 	-->
							<pathelement location="bin" />
							<fileset dir="lib" includes="*.jar" />
					 </classpath> 
					 <formatter type="xml" /> 
					 <batchtest todir="${testResut}"> 
						 <fileset dir="${test}"> 
							 <include name="**/*.*" /> 
						 </fileset> 
					 </batchtest> 
				 </junit> 
				 <junitreport todir="${testResut}"> 
				 	<!--
					 <fileset dir="${test}"> 
						 <include name="**/*,*" /> 
					 </fileset>
					 --> 
				 	  <fileset dir="${testResut}">
				 	                <include name="TEST-*.xml"/>
				 	            </fileset>
					 <report format="frames" todir="${testResut}" />
				 </junitreport> 
	 </target> 

 

 

 

分享到:
评论
1 楼 WITLP 2011-08-25  
哈哈,原来你就是传说中的欧阳平?

相关推荐

    ant使用最简单的实例

    ant使用最简单的实例ant使用最简单的实例ant使用最简单的实例

    Ant工具的使用及Ant介绍

    使用简单--与ant的兄弟make比起来 语法清晰--同样是和make相比 功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant插件的时候,你会发现它更多的功能。

    Ant的下载安装和简单地使用

    Ant的下载安装和简单地使用,Ant的下载安装和简单地使用

    ANT安装与使用教程

    该文件简单的描述了ANT的安装过程及其简单使用。适用所有项目部署人员。

    ant使用指南.pdf

    在本教程中,您将学习 Ant 这...我们将逐步完成为一个简单 Java 项目编 写生成文件的步骤,然后考察 Ant 的其他一些有用功能,包括文件系统操作和模式匹配。最后编写 一个扩展 Ant 功能的自己的 Java 类来结束本教程。

    ant中文手册(新版) ant使用教程

    ant中文手册(新版) ant使用教程~~~

    ant使用基础啊

    要使用ant首先要构建一个ant环境,步骤很简单: 1),安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH(这些应该是看这篇文章的人应该知道的) 2),下载ant 地址http://www.apache.org/找一个你喜欢的版本,或者干脆最新的版本...

    Ant使用指南-Ant入门手册

    Ant是什么、Ant入门、Ant入门书籍、Ant入门手册、Ant资料、Ant文档、Ant使用指南 包括以下章节: Ant入门 Ant基础 运行Ant 生成一个简单的JAVA项目 文件系统操作 其它有用的任务和技术 使用自定义任务来扩展Ant ...

    Ant简介-----关于ant使用的简单教程

    Ant的安装配置和一般应用,可以满足一般的使用。

    Ant使用指南pdf

    全面的ant使用手册~!内容如下: · Ant 生成文件是如何构造的 · 如何从命令行以及从Eclipse 内运行Ant · 如果通过编译源代码、创建 JAR 文件以及时间戳文件(以识别每次生成过程的输出)来生 成简单的 Java 项目 ...

    ant1.8.2(组件)

    使用简单--与ant的兄弟make比起来 语法清晰--同样是和make相比 功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant插件的时候,你会发现它更多的功能。

    ant个人学习笔记和简单示例

    ant个人学习笔记和简单示例,主要包括各种命令,以及简单的示例

    ant构建工具(ant API)

    使用简单--与ant的兄弟make比起来 语法清晰--同样是和make相比 功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant插件的时候,你会发现它更多的功能。

    Apache Ant入门教程

    Apache Ant 是一个基于 Java 的生成工具。据最初的创始人 James ...Ant 的其他关键优势包括其突出的简单性和无缝地使用自定义功能来扩展它的能力。但愿您在完成本教程其余内容的学习之后,会欣赏 Ant 的这些优势。

    自定义AntTask简单实例

    Ant自定义Task简单实例,可直接完整下载运行,依赖jar均包含

    ant build.xml构建使用案例

    ant是apache组织的一个开源项目,自己可以在http://ant.apache.org进行下载,也可以下载本资源,下载之后 1、解压缩 2、配置环境变量,将解压缩的路径(你... 说明:这个是一个项目开发的辅助工具,比较简单且好用。

    Ant入门-ant入门pdf

    Ant入门电子书 简单易懂的ant入门电子书,适合初学者

    ant工具包 ant编译工具

    使用简单--与ant的兄弟make比起来 语法清晰--同样是和make相比 功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant插件的时候,你会发现它更多的功能。

    使用ant编译打包应用程序

    使用ant编译打包应用程序,比较简单,适合初学者。

    Ant使用指南_发布工程师必备

    如果您正在编写 Java 代码却还没有使用 Ant,那么本教程就是为您准备的。...此外,还有许多可用的第三方 Ant 任务,而编写自定义的 Ant 任务也是相对简单的,因此很容易针对特定的应用程序定制 Ant。

Global site tag (gtag.js) - Google Analytics