`

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,运行

指定ANT脚本文件执行:

 

ant -f buildFILE.xml

 

 

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>



分享到:
评论

相关推荐

    nginx+tomcat的负载均衡session共享和ant构建全流程

    综合以上,我们可以构建一个完整的流程:使用ANT自动化构建Java项目,同时通过SVN管理代码版本,然后将构建好的应用部署到Nginx+Tomcat的架构中,实现负载均衡和Session共享。这样的架构不仅提高了系统的可用性和...

    Java IDE工具(源码)

    Java IDE工具是开发Java应用程序的重要环境,它集成了代码编辑、编译、调试和运行等功能,极大地提高了开发效率。在本资源中,我们拥有的是一个用Java语言实现的Java集成开发环境(IDE)的源码,这对于理解IDE的工作...

    myeclipse 6 java ee 开发中文手册

    此外,还会介绍如何导入和导出项目,以及版本控制系统的集成,如SVN和Git。 三、编码与编辑支持 MyEclipse 6提供强大的代码提示和自动完成功能,对于Java、HTML、JavaScript、JSP等语言都有良好的支持。此外,还...

    MyEclipse 6 Java EE 开发中文手册

    9. **构建工具**:MyEclipse支持Ant和Maven构建工具,可以根据项目需求选择合适的构建方式,自动化处理项目的编译、打包、部署等任务。 10. **国际化与本地化**:MyEclipse提供便捷的资源文件管理,支持多语言本地...

    25个让Java程序员更高效的Eclipse插件

    这些插件覆盖了代码质量检测、版本控制、框架支持、项目管理等多个方面,对于Java程序员来说,使用这些插件可以极大地提高开发效率,减少重复工作,并提升项目的整体质量。通过集成这些工具,Eclipse变得更加全能,...

    Java emma工具

    3. **与构建工具集成**:支持Ant、Maven等构建工具,方便在构建过程中集成代码覆盖率报告的生成。 4. **增量覆盖率分析**:支持增量覆盖率分析,即只分析最近修改的代码部分的覆盖率情况。 5. **可定制的报告**:...

    Eclipse开发入门与项目实践1

    2. **Java编程基础**:讲解了Eclipse中的Java编程环境,包括创建Java项目、编写源代码、编译与运行、调试技巧等,这对于初学者理解Eclipse的Java开发功能至关重要。 3. **Eclipse界面及工作流**:详述了Eclipse的...

    JBulider 开发人员指南(中文)

    开发者可以轻松创建、导入或导出项目,以及管理项目的依赖关系。 **2. ** **代码编辑器** **-** JBulider的代码编辑器支持语法高亮、自动完成、代码折叠等特性,提高编码速度。此外,它还具有错误检测和即时反馈...

    技术点.doc

    * Ant:一个基于Java的项目构建工具,提供了强大的项目依赖管理和自动构建功能。 六、版本管理工具 * Git:一个基于分布式版本控制系统,提供了强大的版本控制和协作功能。 * SVN:一个基于集中式版本控制系统,...

    nutch-gui:Apache Nutch Web UI

    下载源代码后,通过构建工具如Maven或Ant进行编译和打包,然后运行生成的可执行文件启动Nutch-GUI。对于开发者来说,理解Nutch-GUI的源代码可以帮助深入定制和优化爬虫流程,以满足特定的抓取需求。 总结来说,...

    smslib-v3[1].3.3-bin.zip

    10. **.svn**:这是一个版本控制系统的目录,可能是Subversion(SVN)的痕迹,表明这个压缩包是从一个版本控制系统中导出的。 11. **Eclipse Formatter**:这可能是一个Eclipse IDE的代码格式化配置文件,确保团队...

    面试笔试题,希望大家能用到(部分)

    - 项目构建工具:Maven、Ant等。 - 调试与测试:调试工具使用、单元测试框架如JUnit。 - 代码质量控制:静态代码分析工具如SonarQube。 - 版本控制系统:Git、SVN等。 - 文档编写与发布:使用Markdown或Javadoc...

Global site tag (gtag.js) - Google Analytics