Ant 基本使用

http://www.cnblogs.com/agilework/articles/2303597.html


基本命令

<?xml version="1.0" ?>
<project name ="antPro" default ="输出字符串测试" >
	
	<property name="zhoufeng" value="is_zhoufeng" />
	
	<target  name="输出字符串测试">    
	       <echo message="The base dir is: ${basedir}"/>
	</target>
	
	<target name="输出java版本信息" if="ant.java.version">
		<echo message="java Version:${ant.java.version}" />
	</target>
     
	<target name="依赖测试" depends="输出java版本信息" >
		<description>
			a depentd example!
		</description>
		<echo message="the base dir : ${basedir}" />
		<echo message="${zhoufeng}" />
	</target>
	
	<target name="复制文件">
		<copy file="build.xml" tofile="c:/xxx.xml"/>
	</target>
	
	<!-- 将${basedir}目录下所有文件复制到c:/xxxx_dir -->
	<target name="复制目录测试" >
		<copy todir="c:/xxxx_dir">
			<fileset dir="${basedir}"></fileset>
		</copy>
	</target>
	
	<target name="删除文件测试">
		<delete file="c:/xxx.pdf"></delete>
	</target>
	
	<target name="删除目录测试">
		<delete dir="c:/xxx"></delete>
	</target>
	
	<target name="删除空目录和备份目录">
		<delete includeemptydirs="true">
			<fileset dir="." includes="**/*.bak" />
		</delete>
	</target>
	
	<target name="创建目录测试">
		<mkdir dir="c:/xxx"/>
	</target>
	
	<target name="移动文件测试">
		<move file="c:/zf.py" tofile="d:/zf.py"></move>
	</target>
	
	<target name="移动目录测试">
		<move file="c:/xxx" tofile="d:/xxx"></move>
	</target>
	
	
	<target name="输入出字符串到文件测试">
		<echo message="hello world!" file="c:/xxx.txt" append="true"></echo>
	</target>
	
	
	
</project>



打包可运行jar文件

<?xml version="1.0" ?>
<project name="ant_test" basedir="../">

	<property name="class_dir" value="${basedir}/build/classes" ></property>
	
	<target name="初始化目录">
		<delete dir="${class_dir}" />  
		<mkdir dir="${class_dir}"/>
	</target>
	
	<target name="编译" depends="初始化目录">
		<javac srcdir="${basedir}/src" destdir="${class_dir}" includeantruntime="false"></javac>
	</target>  
	
	<target name="运行" depends="编译">
		<java classname="Frame1" >
			<classpath>
				<pathelement path="${class_dir}" />
			</classpath>
		</java>
	</target>
	
	<target name="打成可运行jar包" depends="编译">
		<delete file="c:\Frame1.jar" />
		<jar destfile="c:\Frame1.jar" basedir="${class_dir}" >
			<manifest>
				<attribute name="Main-class" value="com.zf.frame.Frame1"/>
			</manifest>
		</jar>
	</target>
	
	
</project>

打包可运行的jar文件二

<?xml version="1.0" ?>  
<project name="导出可执行jar文件" basedir="../">
	
	<property name="src_dir" value="${basedir}\src" />
	<property name="build_dir" value="${basedir}\build" />
	<property name="classes_dir" value="${build_dir}\classes" />
	<property name="lib_dir" value="${basedir}\lib" />
	
	<target name="initBuilder">
		<delete dir="${build_dir}"></delete>
		<mkdir dir="${build_dir}" />
		<mkdir dir="${classes_dir}" />
	</target>
	
	<target name="compile" depends="initBuilder">
		<javac srcdir="${src_dir}" destdir="${classes_dir}" encoding="utf-8" debug="true" debuglevel="source,lines,vars">
			<classpath>
				<path>
					<fileset dir="${lib_dir}">
						<include name="*.jar"/>
					</fileset>
				</path>
			</classpath>
		</javac>  
	</target>
	
	<target name="pkgJar" depends="compile">
		<jar destfile="${build_dir}\csdn.jar"  basedir="${classes_dir}"  >
			<manifest>
				<attribute name="Main-class" value="com.zf.csdn.StringFormatGUI" />
			</manifest>
			 <!-- 加入依赖jar文件 -->
			 <zipfileset excludes="META-INF/*.SF" src="${lib_dir}/log4j-1.2.17.jar" />
		</jar>
	</target>
	
	<target name="test" >
		<echo>${build_dir}</echo>
	</target>  
	
</project>


打包war文件

<?xml version="1.0" ?>
<project name="ant_web_test" basedir="../">

	<property name="build" value="${basedir}/build" ></property>
	<property name="classes" value="${build}/classes" ></property>
	<property name="lib" value="${basedir}/WebRoot/WEB-INF/lib"></property>
	<property name="tomcat-lib" value="E:\apache-tomcat-7.0.11\lib"></property>
	<property name="source-encoding" value="UTF-8" />
	
	<!-- 编译需要的jar包 -->
	<path id="build-classpath">
		<fileset dir="${lib}">
			<include name="*.jar"/>
		</fileset>
		<fileset dir="${tomcat-lib}">
			<include name="*.jar"/>
		</fileset>
	</path>
	
	<target name="初始化编译目录">
		<delete dir="${build}"></delete>
		<mkdir dir="${classes}"/>
	</target>
	
	<target name="编译文件" depends="初始化编译目录" >
		<javac srcdir="${basedir}/src" destdir="${classes}" 
		classpathref="build-classpath" encoding="${source-encoding}"
		debug="true" debuglevel="source,lines,vars">
		</javac>
	</target>
	
	<target name="打成war包" depends="编译文件">
		<war destfile="${build}/ant_web_test.war" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
			<fileset dir="${basedir}/WebRoot" includes="**/*"  ></fileset>
		</war>
	</target>
	
	<target name="部署项目" depends="打成war包">
		<copy file="${build}/ant_web_test.war" tofile="E:\apache-tomcat-7.0.11\webapps\ant_web_test.war" ></copy>
	</target>
	
</project>



部署项目到远程服务器

<?xml version="1.0" ?>
<project name="etdsreport" basedir="../" default="部署项目">

    <property name="tomcat_home" value="D:\zhoufeng\apache-tomcat-6.0.32-windows-x86\apache-tomcat-6.0.32"></property>
    <property name="lib_dir" value="${basedir}/WebContent/WEB-INF/lib"></property>
    <property name="compiled_dir" value="${basedir}/build_dir/classes"></property>
    <property name="project_name" value="etds"></property>
    
    <!-- 编译需要用到的库文件 -->
    <path id="compiled_lib">
        <fileset dir="${tomcat_home}/lib">
            <include name="*" />
        </fileset>
        <fileset dir="${lib_dir}">
            <include name="*"/>
        </fileset>
    </path>
    
    <target name="初始化编译目录">
        <delete dir="${compiled_dir}" />
        <mkdir dir="${compiled_dir}"/>
    </target>
    
    <target name="编译文件" depends="初始化编译目录">
        <javac srcdir="${basedir}/src/etds/report"
        classpathref="compiled_lib"  encoding="utf-8" 
        destdir="${compiled_dir}" includeantruntime="true" debug="true">
        </javac>
        <!-- 复制配置文件到classes目录下  -->
        <copy todir="${compiled_dir}">   
            <fileset dir="${basedir}/src">
                <include name="*.xml"/>
                <include name="*.properties"/>
            </fileset>
        </copy>
    </target>
    
    <target name="打包为war文件" depends="编译文件">
        <war destfile="${basedir}/build_dir/${project_name}.war" 
         webxml="${basedir}/WebContent/WEB-INF/web.xml"
        >
            <classes dir="${compiled_dir}" />            
            <lib dir="${lib_dir}" /> 
            <fileset dir="${basedir}/WebContent">
                <include name="**/*"/>  
                <!-- 不包含WEB-INF目录下面文件,避免class 文件和jar文件的重复  -->
                <exclude name="WEB-INF/**/*" />
            </fileset>
        </war>
    </target>
    
    <target name="部署项目" depends="打包为war文件">  
        <!-- 关闭tomcat -->
        <sshexec host="192.168.1.168" username="zhoufeng" password="zhoufeng" 
            command="/data/tomcats/tomcat_zf/bin/shutdown.sh"/>
        <echo>关闭tomcat</echo>
        <!-- 删除旧项目成功 -->
        <sshexec host="192.168.1.168" username="zhoufeng" password="zhoufeng" 
            command="rm -rf /data/tomcats/tomcat_zf/webapps/etds*"/>
        <echo>删除旧项目成功</echo>    
        <!-- 将项目部署到远程服务器  -->
        <scp file="${basedir}/build_dir/${project_name}.war"      
             todir="zhoufeng@192.168.1.168:/data/tomcats/tomcat_zf/webapps/"
             trust="true"
             password="zhoufeng"
        >
        </scp>
        <echo>部署项目成功</echo>    
        <!-- 打开tomcat -->
        <sshexec host="192.168.1.168" username="zhoufeng" password="zhoufeng" 
            command="/data/tomcats/tomcat_zf/bin/startup.sh"/>
        <echo>开启tomcat成功</echo>    
    </target>
    
</project>

ant  scp使用技巧 参考  http://blog.163.com/cecil2007@126/blog/static/170570070201119103447980/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值