`
阳光小菜鸟
  • 浏览: 95958 次
  • 性别: Icon_minigender_2
  • 来自: 郑州
社区版块
存档分类
最新评论

Ant简单示例

阅读更多
最近部门在做各种技术的预研,学习了不少知识,记录下省得忘了。。。
webproject

<?xml version="1.0" encoding="UTF-8"?>

<project name="project" basedir="." default="run">
	<!-- 环境参数 -->
	<property name="build.home" value="build" /><!-- 正式包编译后目录 -->
	<property name="web.root" value="WebRoot" /><!-- 资源文件目录 -->
	<property name="src.home" value="${basedir}/src" /><!-- 类源文件目录 -->
	<property name="build.javadocs" value="docs" /><!-- docAPI目录 -->
	<!-- 项目名 -->
    <property name="projectname" value="project" /> 
    <property name="version" value="1.0" /> <!-- 版本号 -->
    <property name="year" value="2009" />  <!-- 创建时间 -->
    <!-- 本地上传路径 -->
    <property name="localpath" value="c:/test/" />
    <!-- 远端服务器IP -->
    <property name="serverip" value="192.168.151.242" /> 
    <property name="servername" value="root" /> <!-- 远端服务器用户 -->
    <property name="serverpwd" value="redroot" /><!-- 远端服务器密码 -->
    <property name="serverpath" value="/home/test/" /><!-- 远端服务器上传路径 -->
    
	<!-- 正式发布包欢迎消息 -->
    <echo message="----------- ${projectname} ${version} [${year}] ------------" /> 
	<target name="echo"> 
	   <echo message="${projectname} Build file" /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message=" available targets are:" /> 
	   <echo message="" /> 
	   <echo message=" build --> compiles the source code" /> 
	   <echo message=" javadoc --> generates the API documentation" /> 
	   <echo message=" clean --> cleans up the directory" /> 
	   <echo message=" 业务系统正式发布包"/> 	
	   <echo message="" /> 
	   <echo message=" Please rename build.properties.default to build.properties" /> 
	   <echo message=" and edit build.properties to specify JSDK 2.3 classpath." /> 
	   <echo message="" /> 
	   <echo message=" See the comments inside the build.xml file for more details." /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message="" /> 
	</target>
	<!-- 测试发布包欢迎消息 -->
	<target name="testecho"> 
	   <echo message="${projectname} Build file" /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message=" available targets are:" /> 
	   <echo message="" /> 
	   <echo message=" build --> compiles the source code" /> 
	   <echo message=" javadoc --> generates the API documentation" /> 
	   <echo message=" clean --> cleans up the directory" /> 
	   <echo message=" 业务系统测试发布包"/> 	
	   <echo message="" /> 
	   <echo message=" Please rename build.properties.default to build.properties" /> 
	   <echo message=" and edit build.properties to specify JSDK 2.3 classpath." /> 
	   <echo message="" /> 
	   <echo message=" See the comments inside the build.xml file for more details." /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message="" /> 
	</target> 
 	<!-- 依赖包 -->
	<path id="web.lib">
		<fileset dir="${web.root}/WEB-INF/lib">
			<include name="*.jar" />
		</fileset>
	</path>
	<!-- 生成API -->
	<target name="javadoc"> 
	   <mkdir dir="${build.javadocs}" /> 
	   <javadoc packagenames="" sourcepath="${src.home}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${projectname} API" doctitle="${projectname}">
	   		<classpath refid="web.lib" />
	   	</javadoc>
		<echo>java doc 制作完毕</echo>
	</target> 

	<!-- 清除目录,上次编译文件,创建新目录结构-->
	<target name="clean">
		<echo message="初始化目录" />
		<delete dir="${build.home}" />
		<mkdir dir="${build.home}" />
	</target>

	<!--编译-->
	<target name="build">
		<echo message="编译目录${src.home}" />
		<javac srcdir="${src.home}"  destdir="${web.root}/WEB-INF/classes" debug="true" source="1.5" debuglevel="source,lines,vars" encoding="utf-8">
			<classpath refid="web.lib" />
		</javac>
		<copy todir="${web.root}/WEB-INF/classes/">
					<fileset dir="${src.home}" includes="*.property" />
					<fileset dir="${src.home}" includes="*.xml" />
		</copy>
	</target>
	<!-- 打正式发布war包 -->
	<target name="createPackage">
		<jar basedir="${build.home}" destfile="${build.home}/${projectname}.war">
				<fileset dir="${web.root}" includes="**" />
		</jar>
	</target>
	<!-- 发布目录到本地服务器 -->
	<target name="upMenuTolocal">
	<input message ="请确定是否copy${projectname}目录结构到${localpath}" 
            validargs ="y,n"  addproperty ="do.coverage"  defaultvalue ="n"/> 
         <condition  property ="do.abort"> 
             <equals  arg1 ="n"  arg2 ="${do.coverage}"/> 
         </condition> 
         <fail if ="do.abort">退出</fail> 
		<copy todir="${localpath}">
			<fileset dir="${web.root}" includes="**" />
		</copy>
		<echo message="copy完毕" /> 
	</target>
	<!-- 发布war到本地服务器 -->
	<target name="upWarTolocal" depends="createPackage">
		<input message ="请确定是否copy${projectname}正式包到${localpath}" 
            validargs ="y,n"  addproperty ="do.coverage"  defaultvalue ="n"/> 
         <condition  property ="do.abort"> 
             <equals  arg1 ="n"  arg2 ="${do.coverage}"/> 
         </condition> 
         <fail if ="do.abort">退出</fail> 
		<copy todir="${localpath}">
			<fileset dir="${build.home}" includes="${projectname}.war" />
		</copy>
		<echo message="copy完毕" /> 
	</target>
	<!-- 发布目录到远程服务器 -->
	<target name="upMenuToServer">
		<input message ="请确定是否上传${projectname}目录结构到${serverip}${serverpath}" 
            validargs ="y,n"  addproperty ="do.coverage"  defaultvalue ="n"/> 
         <condition  property ="do.abort"> 
             <equals  arg1 ="n"  arg2 ="${do.coverage}"/> 
         </condition> 
         <fail if ="do.abort">退出</fail> 
		<sshexec host="${serverip}" username="${servername}"  password="${serverpwd}"
         	trust="true" command="cd ${serverpath};ls" verbose ="true"/>
		<scp todir="${servername}@${serverip}:${serverpath}" password="${serverpwd}" trust="true" verbose ="true">
			   <fileset dir="${web.root}">
			      <include name="**" />
			   </fileset>
		</scp>
         	<echo message="上传完毕" /> 
	</target>
	<!-- 发布war到远程服务器 -->
	<target name="upWarToServer" depends="createPackage">
	<input message ="请确定是否上传${projectname}正式包到${serverip}${serverpath}" 
            validargs ="y,n"  addproperty ="do.coverage"  defaultvalue ="n"/> 
         <condition  property ="do.abort"> 
             <equals  arg1 ="n"  arg2 ="${do.coverage}"/> 
         </condition> 
         <fail if ="do.abort">退出</fail> 
        <scp file="${build.home}/${projectname}.war" todir="${servername}@${serverip}:${serverpath}" password="${serverpwd}" trust="true" verbose ="true"/>
        		<sshexec host="${serverip}" username="${servername}"  password="${serverpwd}"
         trust="true" command="cd ${serverpath};ls"/>
         <echo message="上传完毕" />
	</target>
	<!-- 正常编译打包 -->
	<target name="run" depends="clean,echo,build,createPackage,javadoc"/>
	<!-- 发布本地测试目录 -->
	<target name="menulocal" depends="clean,testecho,build,upMenuTolocal" />
	<!-- 发布本地测试包 -->
	<target name="warlocal" depends="clean,echo,build,upWarTolocal,javadoc" />
	<!-- 发布服务器测试目录 -->
	<target name="menuserver" depends="clean,testecho,build,upMenuToServer" />
	<!-- 发布服务器测试包 -->
	<target name="warserver" depends="clean,echo,build,upWarToServer,javadoc" />
</project>



jarproject

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" basedir="." default="run">
	<!-- 环境参数 -->
	<property name="build.home" value="build" /><!-- 编译后目录 -->
	<property name="src.home" value="${basedir}/src" /><!-- 类源文件目录 -->
	<property name="class.home" value="${basedir}/bin" /><!-- 类文件目录 -->
	<property name="lib.home" value="lib" /><!-- jar文件目录 -->
	<property name="build.javadocs" value="docs" /><!-- docAPI目录 -->
	<!-- 项目名 -->
    <property name="projectname" value="project" /> 
    <property name="version" value="1.0" /> <!-- 版本号 -->
    <property name="year" value="2009" />  <!-- 创建时间 -->
	<property name="mainclass" value="com.zzvcom.test.Test" /> <!-- 主函数 -->
	
 
    
	<!-- 正式发布包欢迎消息 -->
    <echo message="----------- ${projectname} ${version} [${year}] ------------" /> 
	<target name="echo"> 
	   <echo message="${projectname} Build file" /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message=" available targets are:" /> 
	   <echo message="" /> 
	   <echo message=" build --> compiles the source code" /> 
	   <echo message=" javadoc --> generates the API documentation" /> 
	   <echo message=" clean --> cleans up the directory" /> 
	   <echo message=" 业务系统正式发布包"/> 	
	   <echo message="" /> 
	   <echo message=" Please rename build.properties.default to build.properties" /> 
	   <echo message=" and edit build.properties to specify JSDK 2.3 classpath." /> 
	   <echo message="" /> 
	   <echo message=" See the comments inside the build.xml file for more details." /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message="" /> 
	</target>
	 
 	<!-- 依赖包 -->
	<path id="web.lib">
		<fileset dir="${lib.home}">
			<include name="*.jar" />
		</fileset>
	</path>
	<!-- 生成API -->
	<target name="javadoc"> 
	   <mkdir dir="${build.javadocs}" /> 
	   <javadoc packagenames="" sourcepath="${src.home}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${projectname} API" doctitle="${projectname}">
	   		<classpath refid="web.lib" />
		</javadoc>
		<echo>java doc 制作完毕</echo>
	</target> 

	<!-- 清除目录,上次编译文件,创建新目录结构-->
	<target name="clean">
		<echo message="初始化目录" />
		<delete dir="${build.home}" />
		<delete dir="${class.home}" />
		<mkdir dir="${build.home}" />
		<mkdir dir="${class.home}" />
		<echo>初始化完毕</echo>
	</target>

	<!--编译-->
	<target name="build">
		<echo message="编译目录${src.home}" />
		<javac srcdir="${src.home}"  destdir="${class.home}" debug="true" source="1.5" debuglevel="source,lines,vars" encoding="utf-8">
			<classpath refid="web.lib" />
		</javac>
		<copy todir="${class.home}">
							<fileset dir="${src.home}" includes="*.property" />
							<fileset dir="${src.home}" includes="*.xml" />
		</copy>
		<echo>编译完毕</echo>
	</target>
	<!-- 打正式发布jar包 -->
	<target name="createPackage">
		<jar basedir="${build.home}" destfile="${build.home}/${projectname}.jar">
				<fileset dir="${class.home}" includes="**" />
			<manifest>
				<attribute name="Main-Class" value="${mainclass}" />
			</manifest>
		</jar>
		<echo>打包完毕</echo>
	</target>
 
	<!-- 发布 -->
	<target name="run" depends="clean,echo,build,createPackage,javadoc" />
 
</project>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics