`
babycountry
  • 浏览: 2811 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

一个Ant包括连接SVN的详细配置

阅读更多
我的项目是这样子的,有一个公共的类库,一个开发的项目,从SVN上更新下来发布。

  <?xml version="1.0" encoding="UTF-8"?>
<!--  author:qiaohq  -->
<!-- name属性  用于指定project元素的名称。
	 default属性  用于指定project默认执行时所执行的target的名称。
     basedir属性 用于指定基路径的位置。该属性没有指定时,使用Ant的构件文件的附目录作为基准目录。
     
 -->
<project name="eisproject" default="compile" basedir="d:/tools/ant">
  <!-- 我存放的项目地址 -->
           <property name="project" value="d:/work/test/project"></property>
  <!-- 存放公共类库项目 -->
<property name="common" value="d:/work/test/common/src"></property>
 <!-- 存放lib包的地方-->
<property name="lib" value="D:/work/localwork/project/webroot/WEB-INF/lib"></property>
           <property name="src" value="${project}/src"></property>
	   <property name="build" value="${project}/webroot"></property>
	   <property name="classpath" value="${project}/webroot/WEB-INF"></property>
	   <property environment="myenv"></property>
	 <!-- target元素 它为Ant的基本执行单元,它可以包含一个或多个具体的任务。
	              多个target可以存在相互依赖关系。它有如下属性:
     1)name属性  指定target元素的名称,这个属性在一个project元素中是唯一的。
                                            我们可以通过指定target元素的名称来指定某个target。
	 2)depends属性   用于描述target之间的依赖关系,若与多个target存在依赖关系时,需要以“,”间隔。
	 				Ant会依照depends属性中target出现的顺序依次执行每个target。被依赖的target会先执行。
	 3)if属性  用于验证指定的属性是否存在,若不存在,所在target将不会被执行。
	 4)unless属性 该属性的功能与if属性的功能正好相反,它也用于验证指定的属性是否存在,
	  			      若不存在,所在target将会被执行。
	 5)description属性 该属性是关于target功能的简短描述和说明。
	  -->
	  <!-- 初始化新建 -->
	 <target name="init">
       <mkdir dir="${build}/WEB-INF/classes"/>
     </target>
     <!-- ========================= -->
	 <!--   target: build           -->
	 <!-- ========================= -->
	 <target name="clean" depends="init" description="">
	    <delete dir="${classpath}/classes/com"></delete>
	 </target>
	 <target name="copy"  description="烤贝公共类">
	        <copy todir="${src}/com">
		  <fileset dir="${common}">
		  </fileset>
		</copy>

	 </target>
	 <target name="compile" depends="clean,init,checkout,copy"   description="--> compile and jar this component">
		<javac srcdir="${src}"   destdir="${classpath}/classes"  debug="on">
		   <classpath refid="master-classpath"/> 
                       <compilerarg value="-Xlint:unchecked -Xlint:deprecation" />

		</javac>
		<copy todir="${classpath}/classes">
		  <fileset dir="${src}">
		     <exclude name="**/*.java"/>
		  </fileset>
		</copy>
	 </target>
	 <path id="master-classpath" >    
       <fileset dir="${lib}">    
           <include name="*.jar" />
       </fileset>    
       <fileset dir="${myenv.CATALINA_HOME}/lib">
           <include name="*.jar"/>
       </fileset>    
    </path>
    <path id="svnant.dir">
		<fileset dir="D:/tools/cruisecontrol-bin-2.8.2/svnant-1.2.1/lib">    
           <include name="*.jar" />
       </fileset> 
	</path>
	 <taskdef   resource="org/tigris/subversion/svnant/svnantlib.xml"	classpathref="svnant.dir" />
	 <!-- 导出svn -->
	 <target name="checkout">
		 <svn username="test" password="steven" javahl="true">
			 <checkout url="https://192.168.249.82/svn/Repository/Project-SIPG ENG-DEPT/src"  revision="HEAD" destPath="${src}" />
	         	 <checkout url="https://192.168.249.82/svn/Repository/Project-SIPG ENG-DEPT/webroot"  revision="HEAD" destPath="${build}" />
                         <checkout url="https://192.168.249.82/svn/Repository/Project-COM HB Library/src/com"  revision="HEAD" destPath="${common}" />
	      </svn>
	 </target>
	 <!-- 发布 -->
 	<target name="buildfile" depends="compile"  description="--> compile and jar this component">
		<copy todir="${myenv.CATALINA_HOME}/webapps/project">
		  <fileset dir="${build}">
		     
		  </fileset>
		</copy>
		<copy todir="${myenv.CATALINA_HOME}/webapps/project/WEB-INF/lib">
		  <fileset dir="${lib}">
		     
		  </fileset>
		</copy>		
	</target>
	 <target name="build" depends="compile,init"  description="--> compile and jar this component">
		 <war destfile="${myenv.CATALINA_HOME}/webapps/eis.war" webxml="${classpath}/web.xml">
			  	<fileset dir="${build}">
			  	</fileset>
		</war> 	
	</target>
	<target name="tomcat-startup" description="tomcat starting.....">  
        <exec executable="${myenv.CATALINA_HOME}/bin/startup.bat" spawn="true" vmlauncher="false">  
        <env key="CATALINA_HOME" value="${myenv.CATALINA_HOME}" />  
        <arg line="/c start ${myenv.CATALINA_HOME}/bin/startup.bat" />  
      </exec>       
   </target> 
   <target name="tomcat-startdown">  
    <java jar="${myenv.CATALINA_HOME}/bin/bootstrap.jar" fork="true">  
        <jvmarg value="-Dcatalina.home=${myenv.CATALINA_HOME}"/>  
        <arg line="stop"/>  
    </java>  
    <waitfor maxwait="5" maxwaitunit="second">  
        <available file="errors.log"/>  
    </waitfor>  
  </target>
  <target name="tomcat-restart" >  
    <antcall target="tomcat-startdown"></antcall>
    <antcall target="tomcat-startup"></antcall>
  </target>   
</project>

分享到:
评论

相关推荐

    SVN+ant 服务器代码打包编译流程详解,内含详细安装以及操作说明

    安装完成后,你可以创建一个新的SVN仓库,或者连接到已有的仓库。通过右键菜单,可以将本地文件夹标记为“SVN检出”,从而获取服务器上的代码。之后,所有对文件的修改都可以通过SVN进行版本控制,如提交、更新、...

    jenkins-svn+ant插件(含依赖).zip

    这个压缩包包含了Jenkins中与SVN和Ant相关的所有必需插件,以及它们的依赖项,确保在没有互联网连接的情况下也能进行安装。文件名"jenkins-plugins"表明这是Jenkins插件的集合。 离线安装步骤如下: 1. 将"jenkins...

    Hudson_Jenkins+SVN_配置使用手册__实验室编写

    本文将详细介绍如何在实验室环境中配置Jenkins与SVN的集成,以实现自动化的构建和测试流程。 #### 二、JDK安装与配置 JDK(Java Development Kit)是Jenkins运行的基础环境之一。正确安装并配置JDK是确保Jenkins...

    SVNMANAGER SVN 代码管理 LINUX SVN管理

    Subversion(简称SVN)就是这样一款广泛应用的版本控制系统,而SVNManager则是一个基于Web的SVN管理工具,为用户提供了一种方便的方式来管理SVN仓库和用户权限。 **1. SVNManager安装包** SVNManager通常以源码...

    使用SVN,Ant制作发布版本

    制作发布版本是一个涉及多个步骤的过程,包括从版本控制系统获取最新代码、编译代码、打包以及清理临时文件等。以下是具体步骤: 1. **从SVN中取出最新版本**:首先需要使用SVN工具从版本控制系统中检出最新的源...

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

    1. svnClientAdapter.jar:这是一个SVN客户端适配器,允许ANT与Subversion(SVN)版本控制系统交互,进行版本控制操作,如提交、更新和导出。 2. svnjavahl.jar:这是SVN JavaHL接口的库,提供了更高效的SVN操作。 3...

    jenkins+svn+maven构建

    第二种方法使用Jenkins的SVN插件连接SVN版本控制系统,实现代码回滚。 Jenkins持续集成意义 Jenkins的持续集成意义在于它可以自动化构建、测试、部署和发布软件,提高软件开发效率和质量。Jenkins可以帮助开发者...

    .Ant安装编译操作手册

    本文档详细介绍了如何在Windows环境下安装与配置Apache Ant,以及如何使用Ant进行Flex/Java项目的自动化编译与打包。通过遵循这些步骤,可以显著提高软件发布的效率和质量。同时,本文还提供了具体的脚本示例,帮助...

    Jmeter+ant+Jenkins集成接口自动化测试说明.docx

    结合Ant构建工具和Jenkins持续集成平台,我们可以构建一个高效、自动化的测试流程。 一、环境安装 1. 安装JDK:首先,确保安装了Java Development Kit (JDK),并正确配置了`JAVA_HOME`环境变量。这为JMeter和其他...

    Ant使用说明

    Apache Ant 是一个Java平台上的构建工具,它使用XML来描述构建过程,包括编译、打包、测试和部署等任务。Ant以其灵活性和可扩展性在Java开发者中广受欢迎,它可以替代传统的make工具,使得跨平台的项目管理变得更加...

    Jenkins+Maven+svn+Tomcat入门文档

    - **继承**:一个项目可以从另一个项目继承属性、插件配置等,简化配置。 **使用Nexus创建私服** - **安装Nexus**:Nexus是一款开源的Maven仓库管理器,用于创建和管理Maven仓库。 - War方式安装:下载Nexus的War...

    Java SVN/ANT Software Auto Updater-开源

    Java SVN/ANT Software Auto Updater本身就是一个Java应用程序,这意味着它跨平台且易于部署。Java的“一次编写,到处运行”特性使得这款工具能够在任何安装了Java运行环境的系统上运行,无论是Windows、Linux还是...

    Ant脚本打包部署要点.zip_sme_打包部署!

    一个Ant项目通常包含一个名为`build.xml`的主配置文件,这个文件定义了构建过程的各个任务,如编译源代码、创建JAR或WAR文件、清理工作目录等。在`build.xml`中,我们可以定义目标(target),每个目标都是一系列...

    ofbiz安装与配置

    本文详细介绍了 Ofbiz 的安装与配置过程,包括环境搭建、Eclipse 参数及插件设置、Ofbiz 项目结构、使用 Eclipse 打开 Ofbiz 的 Ant 命令、Ofbiz 数据库(MySQL)安装及配置等内容。希望本文能够帮助初学者快速上手 ...

    高级 测试实战场景面试题.pdf

    本文档详细介绍了如何使用Jenkins、Ant、JMeter和SVN搭建接口自动化测试环境,并通过具体实例讲解了如何在Jenkins上配置并运行接口自动化脚本和基于Pytest框架的自动化脚本。这些步骤不仅有助于提高测试效率,还能...

    ECLIPSE+WEB开发配置

    本篇文章将深入探讨如何使用Eclipse进行Web应用程序的开发,并结合其他关键工具如Tomcat、Ant、JBoss、SVN和Maven,创建一个高效的工作流程。 首先,Eclipse+Tomcat的配置是许多Web开发者的基础。Tomcat是一个轻量...

    jaas-in-action-code

    3. **.classpath**:这是Eclipse IDE的一个配置文件,记录了项目的类路径,包括JRE系统库、项目依赖和其他库的位置。 4. **.generated.lst**:这个文件可能是编译过程中生成的列表,通常包含编译器处理过的源文件...

    Ant Subversion Task-开源

    Ant Subversion Task是开源软件开发领域的一个重要工具,它是一个集成在Apache Ant构建系统中的插件,用于与Subversion(SVN)版本控制系统交互。Ant是Java开发中广泛使用的自动化构建工具,而Subversion则是一种...

    jenkins glassfish4 專案 注意事項1

    当接手一个新的Java EE 7项目时,我们往往倾向于复制现有的成功案例,如`webcs`或`tccprod`项目中的Jenkins配置,然后更改源代码路径以适应新项目。这种方法能够快速启动新的构建流程,但可能不完全适用于所有情况。...

    xx电气项目打包环境及打包步骤说明

    - `Ant` 是一个Java环境下的构建工具,无需安装,只需解压即可使用。为了能在命令行中使用 `ant` 命令,需要在环境变量中添加 `ant` 的路径。例如,在 `path` 变量中加入 `"D:\ant\bin;"`(实际路径根据具体情况调整...

Global site tag (gtag.js) - Google Analytics