我的项目是这样子的,有一个公共的类库,一个开发的项目,从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仓库,或者连接到已有的仓库。通过右键菜单,可以将本地文件夹标记为“SVN检出”,从而获取服务器上的代码。之后,所有对文件的修改都可以通过SVN进行版本控制,如提交、更新、...
这个压缩包包含了Jenkins中与SVN和Ant相关的所有必需插件,以及它们的依赖项,确保在没有互联网连接的情况下也能进行安装。文件名"jenkins-plugins"表明这是Jenkins插件的集合。 离线安装步骤如下: 1. 将"jenkins...
本文将详细介绍如何在实验室环境中配置Jenkins与SVN的集成,以实现自动化的构建和测试流程。 #### 二、JDK安装与配置 JDK(Java Development Kit)是Jenkins运行的基础环境之一。正确安装并配置JDK是确保Jenkins...
Subversion(简称SVN)就是这样一款广泛应用的版本控制系统,而SVNManager则是一个基于Web的SVN管理工具,为用户提供了一种方便的方式来管理SVN仓库和用户权限。 **1. SVNManager安装包** SVNManager通常以源码...
制作发布版本是一个涉及多个步骤的过程,包括从版本控制系统获取最新代码、编译代码、打包以及清理临时文件等。以下是具体步骤: 1. **从SVN中取出最新版本**:首先需要使用SVN工具从版本控制系统中检出最新的源...
1. svnClientAdapter.jar:这是一个SVN客户端适配器,允许ANT与Subversion(SVN)版本控制系统交互,进行版本控制操作,如提交、更新和导出。 2. svnjavahl.jar:这是SVN JavaHL接口的库,提供了更高效的SVN操作。 3...
第二种方法使用Jenkins的SVN插件连接SVN版本控制系统,实现代码回滚。 Jenkins持续集成意义 Jenkins的持续集成意义在于它可以自动化构建、测试、部署和发布软件,提高软件开发效率和质量。Jenkins可以帮助开发者...
本文档详细介绍了如何在Windows环境下安装与配置Apache Ant,以及如何使用Ant进行Flex/Java项目的自动化编译与打包。通过遵循这些步骤,可以显著提高软件发布的效率和质量。同时,本文还提供了具体的脚本示例,帮助...
结合Ant构建工具和Jenkins持续集成平台,我们可以构建一个高效、自动化的测试流程。 一、环境安装 1. 安装JDK:首先,确保安装了Java Development Kit (JDK),并正确配置了`JAVA_HOME`环境变量。这为JMeter和其他...
Apache Ant 是一个Java平台上的构建工具,它使用XML来描述构建过程,包括编译、打包、测试和部署等任务。Ant以其灵活性和可扩展性在Java开发者中广受欢迎,它可以替代传统的make工具,使得跨平台的项目管理变得更加...
- **继承**:一个项目可以从另一个项目继承属性、插件配置等,简化配置。 **使用Nexus创建私服** - **安装Nexus**:Nexus是一款开源的Maven仓库管理器,用于创建和管理Maven仓库。 - War方式安装:下载Nexus的War...
Java SVN/ANT Software Auto Updater本身就是一个Java应用程序,这意味着它跨平台且易于部署。Java的“一次编写,到处运行”特性使得这款工具能够在任何安装了Java运行环境的系统上运行,无论是Windows、Linux还是...
一个Ant项目通常包含一个名为`build.xml`的主配置文件,这个文件定义了构建过程的各个任务,如编译源代码、创建JAR或WAR文件、清理工作目录等。在`build.xml`中,我们可以定义目标(target),每个目标都是一系列...
本文详细介绍了 Ofbiz 的安装与配置过程,包括环境搭建、Eclipse 参数及插件设置、Ofbiz 项目结构、使用 Eclipse 打开 Ofbiz 的 Ant 命令、Ofbiz 数据库(MySQL)安装及配置等内容。希望本文能够帮助初学者快速上手 ...
本文档详细介绍了如何使用Jenkins、Ant、JMeter和SVN搭建接口自动化测试环境,并通过具体实例讲解了如何在Jenkins上配置并运行接口自动化脚本和基于Pytest框架的自动化脚本。这些步骤不仅有助于提高测试效率,还能...
本篇文章将深入探讨如何使用Eclipse进行Web应用程序的开发,并结合其他关键工具如Tomcat、Ant、JBoss、SVN和Maven,创建一个高效的工作流程。 首先,Eclipse+Tomcat的配置是许多Web开发者的基础。Tomcat是一个轻量...
3. **.classpath**:这是Eclipse IDE的一个配置文件,记录了项目的类路径,包括JRE系统库、项目依赖和其他库的位置。 4. **.generated.lst**:这个文件可能是编译过程中生成的列表,通常包含编译器处理过的源文件...
Ant Subversion Task是开源软件开发领域的一个重要工具,它是一个集成在Apache Ant构建系统中的插件,用于与Subversion(SVN)版本控制系统交互。Ant是Java开发中广泛使用的自动化构建工具,而Subversion则是一种...
当接手一个新的Java EE 7项目时,我们往往倾向于复制现有的成功案例,如`webcs`或`tccprod`项目中的Jenkins配置,然后更改源代码路径以适应新项目。这种方法能够快速启动新的构建流程,但可能不完全适用于所有情况。...
- `Ant` 是一个Java环境下的构建工具,无需安装,只需解压即可使用。为了能在命令行中使用 `ant` 命令,需要在环境变量中添加 `ant` 的路径。例如,在 `path` 变量中加入 `"D:\ant\bin;"`(实际路径根据具体情况调整...