ANT 打包命令

以下代码是基于一个项目的打包,生成DOC API文档,发布等一些过程..为开发人员提供方便..

 

代码如下:

<?xml version="1.0" encoding="GB2312"?>
<!--默认执行dist任务,basedir="."代表当期目录-->
<project default="dist" basedir=".">
	<!--定义系统的环境属性-->
	<property environment = "env" /><!--获取widow,unix的环境变量-->
	<property name="java.home" value="${env.JAVA_HOME}"/><!--获取环境变量中的Java_home的变量值.-->
	<property name="ant.home"  value="${env.ANT_HOME}"/> <!--获取环境变量中的Ant_home变量值-->
	
	<!--定义主要的app应用程序的环境属性-->
	<property name="app.name" value="HelloWorld"/>
	<property name="app.jar" value= "${app.name}.jar"/>
	<property name="app.copyright" value="Copyright(c)2011 sz All right reserved."
		
	<!--app应用程序src的属性-->	
	<property name="src.dir" value="src"/>
	<property name="src.main" value="${src.dir}/main"/>
	<property name="src.script" value="${src.dir}/script"/>
	
	<!--app用到的lib-->
	<property name="lib.dir" value="lib"/>
	
	<!--app的build目录中-->
	<property name="build.dir" value="build"/>
	<property name="build.classes" value="${build.dir}/classes"/>
	<property name="build.docs" value="${build.dir}/docs"/>
	<property name="build.docs.api" value="${build.docs}/api"/>
	<property name="build.lib" value="${build.dir}/lib" />
	
	<!--app的dist(distribution)发布的属性.目录中-->
	<property name="dist.dir" value="dist"/>
	<property name="dist.bin" value="${dist.dir}/bin"/>
	<property name="dist.docs" value="${dist.dir}/docs"/>
	<property name="dist.lib" value="${dist.dir}/lib"/>
	
	<!--app的docs目录中-->
	<property name="docs.dir" value="docs"/>
	<!--配置classpath路径-->
	<path id="classpath">
		<!--要编译的路径-->
		<pathelement location="${build.classes}"/>
		<!--引用java home的环境变量-->
		<pathelement path="${java.home}/lib/tools.jar"/>
	<path>
	
	<!--定义第一个,初始化目标-->
	<target name="init">
			<!--清除以前目录,failonerror,但删除时,目录不存在,是否报错误,
			为false不报错误信息。程序继续执行,如果设置为true,则会终止程序的运行-->
			<delete dir="${build.dir}" failοnerrοr="false"/>
			<delete dir="${dist.dir}" failοnerrοr="false"/>
			
			<!--准备目录,重新创建目录-->
			<mkdir dir="${build.dir}" />
			<mkdir dir="${build.classes}"/>
			<mkdir dir="${build.docs}"/>
			<mkdir dir="${build.docs.api}"/>
			<mkdir dir="${build.lib}"/>
			<mkdir dir="${dist.dir}"/>
			<mkdir dir="${dist.bin}"/>
			<mkdir dir="${dist.lib}"/>
	</target>
	
	<!--inti初始化完成之后,就是build构建的编译工作,它依赖于inti初始化任务-->
	<!--编译工作-->
	<target name="build" depends="init">
		  <!--srcdir只的是.java源文件目录,destdir指的是,编译后的class文件,存放的路径,-->
			<javac srcdir="${src.main}" destdir="${build.classes}">
				<!--引用classpath 路径,找到java home/lib/tools.jar工具,进行编译.-->
				<classpath refid="classpath"/>
			<javac>
	</target>		
	
	<!--打包任务,依赖于build任务-->	
	<target name="jars" depends="build">
			 <!--basedir指的是,把build/classes目录下的.class文件进行打包,-->
			 <!--jarfile指的是,jar包文件的类型,比如jar包,war(web 项目的war包。)${app.jar}指的是,引用程序名称HelloWorld.jar-->
			 <jar basedir="${build.classes}" jarfile="${build.lib}/${app.jar}"/>
	</target>
	
	<!--生成doc文件任务,依赖于打包之后的任务-->
	<target name="javadocs" depends="jars" description=" Create The API documentation">
		<!--copy docs手册,todir指的是,把文件拷贝到哪个目录下,-->
		<copy todir="${build.docs}">
			<!--生成的文件,存放在dir文件集目录下-->
			<fileset dir="${docs.dir}"/>
		</copy>
		
		<!--packagenames,指包的名称-->
		<javadoc packagenames="hello.ant.*" 
			sourcepath="${src.main}"
			defaulttextcudes="yes"
			destdir="${build.docs.api}"
			ahthor="true"
			version="true"
			use="true"
			windowtitle="Docs API">
			<doctitle>
					<![CDATA[<h1>Hello World Ant Docs API</h1>]]</doctitle>
					<!--API文档,底部显示版权信息,-->
					<buttom><![CDATA[<i>${app.copyright}</i>]]></buttom>
					<tag name="todo" scope="all" description="To do:"/>
		</javadoc>		
	</target>
	
  <!--发布任务,依赖于javadocs-->
  <target name="dist" depends="javadocs">
  	 <!--复制bin执行文件-->
  	 <copy todir="${dist.bin}">
  	 		<fileset dir="${src.script}"/>
  	 </copy>
  	 
  	 <copy todir="${dist.docs}">
  	 		<fileset dir="${build.docs}"/>
  	 </copy>
  	 
  	 <copy todir="${dist.lib}">
  	 		<fileset dir="${build.lib}"/>
  	 </copy>	
  </target>	
</project>	

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值