`
zjnbshifox
  • 浏览: 312574 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

我的ant脚本

    博客分类:
  • Java
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<project name="worker" default="usage">
        <property name="basedir" value="."/>        							<!-- 定义根目录为当前目录 -->
        <property name="app.name" value="worker"/>							<!-- 定义应用程序名称 -->
        <property name="war.name" value="${app.name}.war"/>						<!-- 定义根war包的名称 -->
        <property name="src.dir"  value="${basedir}/src" />						<!-- 定义源代码路径 -->
        <property name="lib.dir"  value="${basedir}/WebContent/Web-INF/lib"/>		<!-- 定义库文件路径 -->
        <property name="dist.dir" value="${basedir}/WebContent/WEB-INF/classes"/>	<!-- 定义根class文件位置 -->
        <property name="tomcat.dir" value="D:/apache-tomcat-6.0.18"/>						<!-- 定义本机上Tomcat安装目录 -->
        <property name="out.dir" value="${basedir}/out"/>						<!-- 定义根war包的输出位置 -->
		<property name="env" value="dev"></property>
		<!-- 定义claspath -->
        <path id="classpath">
        	<fileset dir="${lib.dir}">  
                 <include name="**/*.jar"/>  
             </fileset>
             <fileset dir="${tomcat.dir}/lib">
             	<include name="**/*.jar"/>  
             </fileset>
    	</path>
		
		<!--显示用法-->
		<target name="usage">
				<echo message="${app.name} Build file"/>
			    <echo message="-------------------------------------------------------------"/>
			    <echo message=""/>
			    <echo message=" available targets are:"/>
			    <echo message=""/>
			    <echo message="   clean     --> 清除相关的目录"/>
			    <echo message="   init      --> 新建所需要的目录"/>
			    <echo message="   build     --> 编译所有源代码到[${dist.dir}]目录"/>
			    <echo message="   copyfile  --> 把[${src.dir}]目录中的xml和properties配置文件复制到[${dist.dir}]"/>
				<echo message="   war       --> 把[${basedir}/WebRoot]目录打包成war文件放到[${out.dir}]"/>
				<echo message="   ftpdeploy --> 把打好的war包传到ftp上"/>
			    <echo message=""/>
				<echo message="-------------------------------------------------------------"/>
			    <echo message=""/>
			    <echo message=""/>
		</target>
		<target name="clean">
			<!--清除以前目录-->
			<delete dir="${dist.dir}"  failonerror="false"/>
	        <delete dir="${out.dir}"  failonerror="false"/>	
		</target>
	
		<!--初始化-->
        <target name="init" depends="clean">
	        <!--准备目录-->
	        <mkdir dir="${dist.dir}"/>
	        <mkdir dir="${out.dir}"/>
    	</target>
		
		<!--编译-->
        <target name="build" depends="init">
            <javac srcdir="${src.dir}" destdir="${dist.dir}" encoding="utf-8">
            	<classpath refid="classpath"/>
    		</javac>    		
        </target>
	
		<!--复制配置文件-->
        <target name="copyfile" depends="init">
        	<copy todir="${dist.dir}">
            	<fileset dir="${src.dir}">
            		<include name="**/*.xml"/>
            		<include name="**/*.hbm.xml"/>
            	</fileset>
        	</copy>
        	<copy tofile="${dist.dir}/db.properties">
        	     <fileset dir="${src.dir}" includes="db_${env}.properties" />
        	</copy>
        	<copy tofile="${dist.dir}/log4j.properties">
        	     <fileset dir="${src.dir}" includes="log4j.properties" />
        	</copy>
        	<copy tofile="${dist.dir}/format.properties">
        	        	     <fileset dir="${src.dir}" includes="format.properties" />
        	 </copy>
        </target>
	
		<target name="jar" depends="copyfile">
			<jar jarfile="${out.dir}/${app.name}.jar" basedir="${dist.dir}">
			</jar>
			<delete dir="${dist.dir}"  failonerror="false"   quiet="true"/> 
			<copy todir="${lib.dir}">
					<fileset dir="${out.dir}">
						<include name="${out.dir}/${app.name}.jar"/>
					</fileset>
			</copy>
		</target>
	
		<!--打包成war-->
    
		<target name="war" depends="copyfile,build" >
        	<war destfile="${out.dir}/${war.name}" webxml="${basedir}/WebContent/WEB-INF/web.xml">
		    	<fileset dir="${basedir}/WebContent">
		    			<exclude name="**/web.xml"/>
		    			<include name="**/*.*"/>
		    			<include name="**/*"/>
		    	</fileset>        		
		    </war>
        </target>

		<target name="deploy" depends="copyfile,build,war">
			<copy todir="${tomcat.dir}/webapps">
				<fileset dir="${out.dir}">
					<include name="${war.name}"/>
				</fileset>
			</copy>
		</target>	
		<!--使用ftp上传-->
		<!--注意,使用这个命令需要有common-net(http://jakarta.apache.org/commons/net/download.html)包在ant的classpath中-->
        <target name="ftpdeploy" depends="war">
        	
        	<ftp action="delete"   server="10.0.0.21"    	 port="21" remotedir="/"       userid="web"       	       password="web">        	
        	        	    <fileset>
        	        	       <include name="${app.name}"/>
        	        	       <include name="${war.name}"/>
        	        	    </fileset>
        	  </ftp>
        	 <ftp server="10.0.0.21"
			       port="21"
			       remotedir="/"
			       userid="uid"
			       password="pwd">
				   <fileset dir="${out.dir}">
				     <include name="${war.name}"/>
				   </fileset>
		  	</ftp>
        </target>
    </project>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics