- 浏览: 180077 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (186)
- Ant (11)
- Axis2 (15)
- Car (9)
- Eclipse (1)
- Java (19)
- Java-EM (4)
- Javascript (11)
- Jsp (1)
- Hibernate (9)
- Mysql (1)
- Ms-Dos (5)
- Music (0)
- Oracle (3)
- Postgresql (0)
- Photoshop (1)
- Spring (17)
- Struts (8)
- Selenium (5)
- Ubuntu (13)
- News (17)
- Others (7)
- SSH (11)
- 算法 (5)
- FreeMarker (4)
- Tomcat (2)
- Linux (5)
最新评论
<?xml version="1.0" encoding="UTF-8"?>
<project name="test3" default="" basedir=".">
<!--${ant.project.name}-->
<!-- 链接库目录 -->
<property name="lib.dir" value="${basedir}/lib" />
<!--工程目录-->
<property name="src" value="${basedir}/src" />
<property name="test" value="${basedir}/test" />
<property name="function" value="${basedir}/function" />
<!-- 工程编译目录 -->
<property name="build.dir" value="${basedir}/build" />
<property name="desc.dir" value="${build.dir}/desc" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="function.dir" value="${build.dir}/function" />
<!-- Tomcat 目录 -->
<property name="tomcat.dir" value="/opt/javaworkspace/tomcat" />
<property name="tomcatlib.dir" value="${tomcat.dir}/lib" />
<!-- Selenium 目录-->
<property name="selenium.dir" value="/opt/java/selenium/selenium-server-1.0-beta-1" />
<!-- 测试编译目录 -->
<property name="test.dir" value="${build.dir}/test" />
<property name="function.dir" value="${build.dir}/function" />
<property name="report.dir" value="${build.dir}/Report" />
<property name="junitreport.dir" value="${report.dir}/JunitReport" />
<property name="finalreport.dir" value="${report.dir}/FinalReport" />
<!-- 数据库 -->
<property file="${src}/datasource.properties" />
<property name="changelog" value="${build.dir}/database.changelog.xml" />
<!-- 链接库(jar;class文件) -->
<path id="base.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${tomcatlib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${src}">
<include name="**/*.xml" />
</fileset>
</path>
<!-- ant-contrib.jar -->
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${tomcatlib.dir}/ant-contrib-0.6.jar" />
</classpath>
</taskdef>
<!-- Clean 编译的文件-需要修改-->
<target name="clean" depends="tomcat.stop">
<delete dir="${build.dir}" />
<delete dir="${basedir}/classes">
</delete>
<delete>
<fileset dir="${tomcat.dir}/webapps">
<include name="${ant.project.name}.war" />
</fileset>
</delete>
<delete dir="${tomcat.dir}/webapps/${ant.project.name}" />
<delete dir="${tomcat.dir}/work/Catalina/localhost/${ant.project.name}" />
</target>
<!-- 生成编译文件目录 --需要改-->
<target name="init" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${report.dir}" />
<mkdir dir="${test.dir}" />
<mkdir dir="${function.dir}" />
<mkdir dir="${desc.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${report.dir}" />
<mkdir dir="${junitreport.dir}" />
<mkdir dir="${finalreport.dir}" />
<copy todir="${desc.dir}">
<fileset dir="${basedir}/WebRoot" />
</copy>
<copy todir="${classes.dir}">
<fileset dir="${basedir}/src">
<include name="*.xml" />
<include name="*.properties" />
<exclude name="*.jar" />
</fileset>
</copy>
</target>
<!-- 编译src -->
<target name="compile-src" depends="init">
<javac srcdir="${src}" destdir="${classes.dir}">
<classpath refid="base.classpath" />
</javac>
<copy todir="${classes.dir}/com/goodhope/pojo">
<fileset dir="${basedir}/src/com/goodhope/pojo">
<include name="*.xml" />
</fileset>
</copy>
</target>
<!-- 编译test -->
<target name="compile-test" depends="compile-src">
<javac srcdir="${test}" destdir="${test.dir}">
<classpath path="${classes.dir}" />
<classpath refid="base.classpath" />
</javac>
</target>
<!-- 编译function -->
<target name="compile-function" depends="compile-src,compile-test">
<javac srcdir="${function}" destdir="${function.dir}">
<classpath path="${classes.dir}" />
<classpath refid="base.classpath" />
</javac>
</target>
<!-- 单元测试-生成单元测试报告 -->
<target name="junit-test" depends="compile-function">
<junit printsummary="on" fork="true" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
<classpath>
<pathelement location="${test.dir}" />
<pathelement location="${classes.dir}" />
<path refid="base.classpath" />
</classpath>
<formatter type="xml" />
<batchtest todir="${junitreport.dir}" fork="true">
<fileset dir="${test.dir}">
<include name="**/*Test.*" />
</fileset>
</batchtest>
</junit>
<junitreport todir="${junitreport.dir}">
<fileset dir="${junitreport.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${junitreport.dir}" />
</junitreport>
<fail if="tests.failed">
</fail>
</target>
<!--生成 War 包 -->
<target name="war" depends="junit-test">
<war warfile="${build.dir}/${ant.project.name}.war" webxml="${desc.dir}/WEB-INF/web.xml">
<lib dir="${basedir}/lib" />
<classes dir="${classes.dir}" />
<fileset dir="${desc.dir}">
</fileset>
</war>
</target>
<!-- 部署 War 到 Tomcat -->
<target name="deploy" depends="war">
<copy todir="${tomcat.dir}/webapps">
<fileset dir="${build.dir}">
<include name="${ant.project.name}.war" />
</fileset>
</copy>
</target>
<!--启动 Tomcat -->
<target name="tomcat.start">
<ant antfile="${tomcat.dir}/tomcat-build.xml" target="tomcat.start" inheritall="false" />
</target>
<!--停止 Tomcat -->
<target name="tomcat.stop">
<ant antfile="${tomcat.dir}/tomcat-build.xml" target="tomcat.stop" inheritall="false" />
</target>
<!--启动 Selenium 服务器 -->
<target name="selenium.start">
<if>
<not>
<socket server="localhost" port="4444" />
</not>
<then>
<java jar="${selenium.dir}/selenium-server.jar" fork="true" spawn="true" />
<waitfor maxwait="5" maxwaitunit="minute" checkevery="3" checkeveryunit="second">
<and>
<socket server="localhost" port="4444" />
</and>
</waitfor>
</then>
</if>
</target>
<!-- 停止 Selenium 服务器 -->
<target name="selenium.stop">
<if>
<socket server="localhost" port="4444" />
<then>
<get taskname="selenium-shutdown" dest="${functionTest.report.dir}/selenium-result.txt" src="http://localhost:4444/selenium-server/driver/?cmd=shutDown" ignoreerrors="true" />
</then>
</if>
</target>
<!-- test-all -->
<target name="function-test" depends="deploy">
<!-- 并行容器节点,一边同时打开tomcat 和selenium server,一边等待两者打开后执行JUnit测试。
如果不使用并行节点,而是用spawn=yes属性后台启动tomcat,则屏幕里看不到tomcat信息,如果测试意外终止的话,也不能关闭tomcat -->
<parallel>
<antcall target="tomcat.start" />
<antcall target="selenium.start" />
<sequential>
<waitfor maxwait="5" maxwaitunit="minute" checkevery="3" checkeveryunit="second">
<and>
<socket server="localhost" port="8099" />
</and>
</waitfor >
<waitfor maxwait="5" maxwaitunit="minute" checkevery="3" checkeveryunit="second">
<and>
<socket server="localhost" port="4444" />
</and>
</waitfor >
<!-- Junit Test All -->
<junit printsummary="on" fork="true" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
<classpath>
<pathelement path="${function.dir}" />
<path refid="base.classpath" />
</classpath>
<formatter type="xml" />
...
<project name="test3" default="" basedir=".">
<!--${ant.project.name}-->
<!-- 链接库目录 -->
<property name="lib.dir" value="${basedir}/lib" />
<!--工程目录-->
<property name="src" value="${basedir}/src" />
<property name="test" value="${basedir}/test" />
<property name="function" value="${basedir}/function" />
<!-- 工程编译目录 -->
<property name="build.dir" value="${basedir}/build" />
<property name="desc.dir" value="${build.dir}/desc" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="function.dir" value="${build.dir}/function" />
<!-- Tomcat 目录 -->
<property name="tomcat.dir" value="/opt/javaworkspace/tomcat" />
<property name="tomcatlib.dir" value="${tomcat.dir}/lib" />
<!-- Selenium 目录-->
<property name="selenium.dir" value="/opt/java/selenium/selenium-server-1.0-beta-1" />
<!-- 测试编译目录 -->
<property name="test.dir" value="${build.dir}/test" />
<property name="function.dir" value="${build.dir}/function" />
<property name="report.dir" value="${build.dir}/Report" />
<property name="junitreport.dir" value="${report.dir}/JunitReport" />
<property name="finalreport.dir" value="${report.dir}/FinalReport" />
<!-- 数据库 -->
<property file="${src}/datasource.properties" />
<property name="changelog" value="${build.dir}/database.changelog.xml" />
<!-- 链接库(jar;class文件) -->
<path id="base.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${tomcatlib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${src}">
<include name="**/*.xml" />
</fileset>
</path>
<!-- ant-contrib.jar -->
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${tomcatlib.dir}/ant-contrib-0.6.jar" />
</classpath>
</taskdef>
<!-- Clean 编译的文件-需要修改-->
<target name="clean" depends="tomcat.stop">
<delete dir="${build.dir}" />
<delete dir="${basedir}/classes">
</delete>
<delete>
<fileset dir="${tomcat.dir}/webapps">
<include name="${ant.project.name}.war" />
</fileset>
</delete>
<delete dir="${tomcat.dir}/webapps/${ant.project.name}" />
<delete dir="${tomcat.dir}/work/Catalina/localhost/${ant.project.name}" />
</target>
<!-- 生成编译文件目录 --需要改-->
<target name="init" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${report.dir}" />
<mkdir dir="${test.dir}" />
<mkdir dir="${function.dir}" />
<mkdir dir="${desc.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${report.dir}" />
<mkdir dir="${junitreport.dir}" />
<mkdir dir="${finalreport.dir}" />
<copy todir="${desc.dir}">
<fileset dir="${basedir}/WebRoot" />
</copy>
<copy todir="${classes.dir}">
<fileset dir="${basedir}/src">
<include name="*.xml" />
<include name="*.properties" />
<exclude name="*.jar" />
</fileset>
</copy>
</target>
<!-- 编译src -->
<target name="compile-src" depends="init">
<javac srcdir="${src}" destdir="${classes.dir}">
<classpath refid="base.classpath" />
</javac>
<copy todir="${classes.dir}/com/goodhope/pojo">
<fileset dir="${basedir}/src/com/goodhope/pojo">
<include name="*.xml" />
</fileset>
</copy>
</target>
<!-- 编译test -->
<target name="compile-test" depends="compile-src">
<javac srcdir="${test}" destdir="${test.dir}">
<classpath path="${classes.dir}" />
<classpath refid="base.classpath" />
</javac>
</target>
<!-- 编译function -->
<target name="compile-function" depends="compile-src,compile-test">
<javac srcdir="${function}" destdir="${function.dir}">
<classpath path="${classes.dir}" />
<classpath refid="base.classpath" />
</javac>
</target>
<!-- 单元测试-生成单元测试报告 -->
<target name="junit-test" depends="compile-function">
<junit printsummary="on" fork="true" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
<classpath>
<pathelement location="${test.dir}" />
<pathelement location="${classes.dir}" />
<path refid="base.classpath" />
</classpath>
<formatter type="xml" />
<batchtest todir="${junitreport.dir}" fork="true">
<fileset dir="${test.dir}">
<include name="**/*Test.*" />
</fileset>
</batchtest>
</junit>
<junitreport todir="${junitreport.dir}">
<fileset dir="${junitreport.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${junitreport.dir}" />
</junitreport>
<fail if="tests.failed">
</fail>
</target>
<!--生成 War 包 -->
<target name="war" depends="junit-test">
<war warfile="${build.dir}/${ant.project.name}.war" webxml="${desc.dir}/WEB-INF/web.xml">
<lib dir="${basedir}/lib" />
<classes dir="${classes.dir}" />
<fileset dir="${desc.dir}">
</fileset>
</war>
</target>
<!-- 部署 War 到 Tomcat -->
<target name="deploy" depends="war">
<copy todir="${tomcat.dir}/webapps">
<fileset dir="${build.dir}">
<include name="${ant.project.name}.war" />
</fileset>
</copy>
</target>
<!--启动 Tomcat -->
<target name="tomcat.start">
<ant antfile="${tomcat.dir}/tomcat-build.xml" target="tomcat.start" inheritall="false" />
</target>
<!--停止 Tomcat -->
<target name="tomcat.stop">
<ant antfile="${tomcat.dir}/tomcat-build.xml" target="tomcat.stop" inheritall="false" />
</target>
<!--启动 Selenium 服务器 -->
<target name="selenium.start">
<if>
<not>
<socket server="localhost" port="4444" />
</not>
<then>
<java jar="${selenium.dir}/selenium-server.jar" fork="true" spawn="true" />
<waitfor maxwait="5" maxwaitunit="minute" checkevery="3" checkeveryunit="second">
<and>
<socket server="localhost" port="4444" />
</and>
</waitfor>
</then>
</if>
</target>
<!-- 停止 Selenium 服务器 -->
<target name="selenium.stop">
<if>
<socket server="localhost" port="4444" />
<then>
<get taskname="selenium-shutdown" dest="${functionTest.report.dir}/selenium-result.txt" src="http://localhost:4444/selenium-server/driver/?cmd=shutDown" ignoreerrors="true" />
</then>
</if>
</target>
<!-- test-all -->
<target name="function-test" depends="deploy">
<!-- 并行容器节点,一边同时打开tomcat 和selenium server,一边等待两者打开后执行JUnit测试。
如果不使用并行节点,而是用spawn=yes属性后台启动tomcat,则屏幕里看不到tomcat信息,如果测试意外终止的话,也不能关闭tomcat -->
<parallel>
<antcall target="tomcat.start" />
<antcall target="selenium.start" />
<sequential>
<waitfor maxwait="5" maxwaitunit="minute" checkevery="3" checkeveryunit="second">
<and>
<socket server="localhost" port="8099" />
</and>
</waitfor >
<waitfor maxwait="5" maxwaitunit="minute" checkevery="3" checkeveryunit="second">
<and>
<socket server="localhost" port="4444" />
</and>
</waitfor >
<!-- Junit Test All -->
<junit printsummary="on" fork="true" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
<classpath>
<pathelement path="${function.dir}" />
<path refid="base.classpath" />
</classpath>
<formatter type="xml" />
...
发表评论
-
ANT十五大最佳实践
2008-10-24 20:40 483ANT十五大最佳实践 作 ... -
Ant 构建文件build.xml(转)
2008-10-24 21:54 965Ant 构建文件build.xml Ant 构建文件build ... -
ant结合junit进行软件自动测试(转)
2008-10-29 15:18 9421、熟练ant进行java工程编译(参考本人“ant编译jav ... -
ant 彻底了解(转)
2008-10-29 15:20 6401 Ant是什么? Apache Ant 是一个基于 Jav ... -
在ant中使用junit命令跑所有测试
2008-10-29 17:40 1187<!--*************编译测试文件***** ... -
分页-参考
2008-10-30 20:08 695Oracle9i数据库,50万条记录,做分页显示时候,页面调用 ... -
给编程狂热者的ant task笔记收藏
2008-10-31 13:59 823给编程狂热者的ant task ... -
ant学习笔记
2008-10-31 19:34 697转自 :李飞虎 blog :http://hi.baidu. ... -
c-build.xml
2008-12-11 09:41 1267<?xml version="1.0&qu ... -
build.xml
2008-12-02 16:40 1203<?xml version="1.0&qu ...
相关推荐
《Ant的build.xml模板详解与应用》 在软件开发领域,构建工具是不可或缺的一部分,它帮助开发者自动化地完成编译、测试、打包等任务。Apache Ant作为Java领域的一款经典构建工具,以其灵活性和强大的功能深受广大...
Ant是基于XML的,它的核心在于`build.xml`文件,这个文件是项目的构建脚本,详细定义了构建过程中的各种任务和依赖关系。 标题“一个常用的ant的build.xml”暗示了我们讨论的是一个标准且常见的Ant构建配置文件。...
java项目打包build.xml文件 ant打包
### build.xml详解 #### 概述 `build.xml` 是 Apache Ant 构建工具的核心配置文件,用于自动化软件构建过程中的各种任务。本篇将基于提供的 `build.xml` 文件示例,详细介绍其结构、语法以及如何通过配置实现自动化...
《Ant build.xml详解——构建Java项目的关键》 Apache Ant,作为一个开源的自动化构建工具,是Java开发者不可或缺的利器。它的核心在于一个名为`build.xml`的配置文件,它定义了项目的构建过程,包括编译、测试、...
3. **build.xml文件详解**:`build.xml`是Ant的构建文件,其中包含了一系列的任务和目标。例如,你可以定义一个目标来启动JMeter,另一个目标来生成测试报告,甚至还有一个目标用来发送测试结果的邮件通知。在描述中...
build.xml 手写自动生成Hibernate映射文件和配置文件源代码
Apache Ant 是一个广泛使用的Java构建工具,它以XML格式定义构建脚本,即`build.xml`文件。这个文件包含了构建项目的整个流程,从编译源代码到生成最终的可执行或部署包。下面我们将深入探讨`build.xml`的使用以及...
本文将深入探讨“项目build.xml文件”,这是一个与Ant构建工具密切相关的文件,用于规范Java项目的构建过程。 Ant是Apache软件基金会的一个开源项目,它是一个基于Java的构建工具,类似于Unix下的Make工具,但更为...
《Ant build.xml构建详解》 在软件开发过程中,构建工具起着至关重要的作用,它能够自动化执行编译、测试、打包等任务。Apache Ant是Java领域广泛应用的一个构建工具,其核心在于一个名为`build.xml`的配置文件。...
《Ant构建Java Web应用:深度解析build.xml》 在软件开发过程中,自动化构建工具起着至关重要的作用,它们能够帮助开发者高效地管理项目,确保代码的编译、测试和部署等流程的一致性和可靠性。Apache Ant是Java领域...
jmeter+ant 持续集成build.xml文件,直接使用ant命令执行jmeter脚本文件,得到图形测试报告
首先,我们要了解`build.xml`文件。它是Ant的核心文件,包含了构建过程的配置和指令。这个文件使用XML格式编写,定义了各种任务(targets),每个任务包含了具体的构建步骤。例如,`clean`任务用于清理项目输出,`...
《Ant的最完整build.xml解释:Ant入门与进阶》 Ant,作为Java世界中的一个构建工具,由Apache软件基金会开发,是项目管理和自动化构建的重要工具。它通过XML定义的build.xml文件,来描述项目的构建过程,包括编译、...
### ant 较完整的build.xml解释 #### 一、Ant简介及优势 Ant 是一款开源的构建工具,主要用于Java项目的构建和部署。与传统的构建工具如Make相比,Ant具有诸多优势,尤其是在跨平台方面表现突出。Ant的核心优势...
**ANT-build.xml命令详解** Apache Ant 是一个Java平台上的开源构建工具,它通过XML格式的配置文件(如`build.xml`)来定义构建任务。Ant的设计理念是“简单就是美”,它使得Java项目的构建过程变得可配置且易于...
在Ant的世界中,`build.xml`是核心配置文件,它包含了项目构建的所有指令和任务。这篇内容将深入解析`build.xml`文件的结构、元素以及如何使用它来管理Java项目的构建过程。 一、`build.xml`文件结构 `build.xml`...
Ant build.xml 文件详解 Ant 是一个项目管理工具,相比make命令,gnumake和nmake等编译工具,Ant克服了这些工具的缺陷。Ant 的优点包括跨平台性、操作简单、易于集成到开发环境中。Ant 的构建文件是 XML 格式的文件...
构建自动化测试平台的时候需要新建的build.xml文件