svn ant 导出java项目生成并运行

环境:

1,OS:Windows7

2,JDK:jdk1.7

3,Apache Ant:apache-ant-1.9.6

4,svnant1.3.1

5,已安装svn客户端(1.8.x)

步骤:

1,解压apache-ant-1.9.6-bin.zip

2,添加环境变量ANT_HOME,比如C:\apache-ant-1.9.6-bin

3,Path变量添加ant的bin目录,比如%ANT_HOME%\bin

4,解压svnant,把svnant.jar,svnClientAdapter.jar复制%ANT_HOME%\lib

目标流程:

1,从svn导出Java项目

2,编译

3,打包

4,运行


build.xml:

<span style="font-size:12px;"><?xml version="1.0" encoding="UTF-8"?>
<project name="ant-svn" default="run" basedir=".">
	
	<!--得到当前日期--> 
	<tstamp> 
	    <format property="DSTAMP" pattern="yyyyMMdd" locale="zh"/> 
	    <format property="TSTAMP" pattern="HHmmss" locale="zh"/> 
	</tstamp> 
  
	<property name="svnurl" value="svn://ip/folder1/" />  
	<property name="svn.username" value="uname" />  
	<property name="svn.password" value="pwd" />  
	<property name="dir.home" value="${basedir}/testserver/testserver_${DSTAMP}_${TSTAMP}/"></property>  
	
	<property name="dir.src" value="${dir.home}/src"></property>
	<property name="dir.dest" value="${dir.home}/bin/classes"></property>
	<property name="dir.lib" value="${dir.home}/lib"></property>
	<property name="jarname" value="testprj1.jar"></property>	
	
	<!--已把svnant.jar,svnClientAdapter.jar导入Ant lib path-->
	<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"   classpath="${ant.library.dir}"/>  
	
	<target name="del"><!--删除旧的版本文件夹-->
		<echo message="delete old version"></echo>
		<delete  includeemptydirs="true" performGCOnFailedDelete="true">
			<fileset dir="testserver">
				<include name="**/*"/>
			</fileset>
		</delete>
	</target>  
		
	<!-- 导出export(仅源文件),而不是checkout(带版本控制信息) -->
	<target name="svnexport" depends="del" >  
		<echo message="export from svn server: ${svnurl}"></echo>
		<echo message="export destination folder: ${dir.home}"></echo>
		<svnSetting id="svnparams" username="${svn.username}" password="${svn.password}" javahl="false"/>  	
		<svn refid="svnparams" >  
			<export  srcUrl="${svnurl}" destPath="${dir.home}" />  
		</svn>  	
	</target><!-- 需要安装 svn客户端并设定javahl="false" ,未下载eclipse svnant插件libsvnjavahl-1.dll,没有编辑智能提示 -->
		
	<target name="init" depends="svnexport">
		<mkdir dir="${dir.home}/bin/"/> 
	</target>
	
	<target name="initclassfolder"  depends="init">
		<mkdir dir="${dir.dest}"/>
	</target>	

	<!-- 批量编译  -->
	<target name="compile" depends="initclassfolder">		
		<javac  srcdir="${dir.src}" 
				destdir="${dir.dest}" 				
				encoding="utf-8"			
				debug="true">
			<classpath>
				<fileset dir="${dir.lib}">  
					<include name="*.jar"/>  
				</fileset>
			</classpath>
		</javac>		
	</target>
	
	<!-- 复制xml文件  -->
	<target name="cp" depends="compile">
		<copy todir="${dir.dest}" >
			<fileset dir="${dir.src}">
				<include name="**/*.xml"/>
			</fileset>
		</copy>
	</target>
	
	<!-- 打包  -->
	<target name="build" depends="cp">	
		<jar destfile="${jarname}" basedir="${dir.dest}" ></jar>
	</target>
	
	<!-- 移动 -->
	<target name="mv" depends="build">
		<move todir="${dir.lib}" file="${jarname}"></move>
		<delete dir="${dir.dest}"></delete><!--删除class文件夹-->
	</target>
		
	<!-- 启动Java程序-->
	<target name="run" depends="mv">
		<java classname="com.test.MainPro"   fork="true" dir="${dir.lib}"> 
			<classpath>
				<fileset dir="${dir.lib}">  
					<include name="*.jar"/>  
				</fileset>
			</classpath>
		</java>		
	</target>

</project></span>


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值