Build.xml模板

[b]一个通用Build.xml模板的建立[/b]
[url]http://www.blogjava.net/os586/archive/2006/10/18/75819.html[/url]
一、建立Web应用步骤
1、清空临时目录
2、建立目录结构
3、从vss或cvs中获得源文件
4、编译(编译java源文件、copy属性文件和xml等文件、编码转换)
5、建立WAR包
6、发布

二、建立web应用的 build.xml 模板

<?xml version="1.0"?>

<!--
=======================================================================
build file

=======================================================================
-->
<project default="main" basedir="build">

<property name="file.war" value="myapp.war"/>

<property name="dir.jdk" value="c:/jbuilderx/jdk1.4"/>

<property name="dir.src" value="src"/>
<property name="dir.classes" value="classes"/>
<property name="dir.lib" value="lib"/>
<property name="dir.web" value="web"/>

<property name="vss.login" value="userId,password"/>
<property name="vss.serverPath" value="i:\"/>
<property name="vss.srcPath" value="/myproject/src"/>
<property name="vss.libPath" value="/myproject/lib"/>
<property name="vss.webPath" value="/myproject/webapp"/>

<property name="server.ftp.userId" value="ftpuser"/>
<property name="server.ftp.password" value="ftppassword"/>
<property name="server.ftp.serverIp" value="192.168.0.1"/>

<path id="project.class.path">
<pathelement location="${dir.classes}"/>
<pathelement location="${dir.jdk}/jre/lib/rt.jar"/>

<fileset dir="${dir.lib}">
<include name="**/*.jar"/>
</fileset>
</path>

<target name="clean">
<delete dir="${dir.src}"/>
<delete dir="${dir.classes}"/>
<delete dir="${dir.lib}"/>
</target>

<target name="init" depends="clean">
<mkdir dir="${dir.src}"/>
<mkdir dir="${dir.classes}"/>
<mkdir dir="${dir.lib}"/>
</target>

<target name="getFromVcm" depends="init">
<vssget localPath="${dir.src}"
login="${vss.login}"
vsspath="${vss.srcPath}"
recursive="true"
serverPath="${vss.serverPath}"
writable="true"/>

<vssget localPath="${dir.lib}"
login="${vss.login}"
vsspath="${vss.libPath}"
recursive="true"
serverPath="${vss.serverPath}"
writable="true"/>

<vssget localPath="${dir.web}"
login="${vss.login}"
vsspath="${vss.webPath}"
recursive="true"
serverPath="${vss.serverPath}"
writable="true"/>

</target>

<target name="compile" depends="getFromVcm">
<javac bootclasspathref="project.class.path" debug="true"
deprecation="true" destdir="${dir.classes}" nowarn="false" target="1.2">
<src path="${dir.src}"/>
</javac>
<copy todir="${dir.classes}">
<fileset dir="${dir.src}">
<include name="**/*.properties"/>
<include name="**/*.xml"/>
<exclude name="ApplicationResources.properties"/>
</fileset>
</copy>
<native2ascii encoding="GBK" src="${dir.src}" dest="${dir.classes}"
includes="ApplicationResources.properties"/>
</target>

<target name="buildWar" depends="compile">
<war destfile="${file.war}" webxml="${dir.web}/WEB-INF/web.xml">
<lib dir="${dir.lib}"/>
<classes dir="${dir.classes}"/>
<fileset dir="${dir.web}"/>
</war>
</target>

<target name="deploy" depends="buildWar">
<ftp server="${server.ftp.serverIp}"
userid="${server.ftp.userId}"
password="${server.ftp.password}">
<fileset dir=".">
<include name="${file.war}"/>
</fileset>
</ftp>
</target>

<target name="main" description="" depends="deploy"/>

</project>



[b]ant集成junit自动测试的build.xml标准模板[/b]
[url]http://liyuandong.iteye.com/blog/964027[/url]
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wallacer/archive/2006/07/26/982130.aspx


利用Ant集成Junit自动测试并生成测试报告,可以极大的提高测试的工作效率,其优势只要是测试用例的批量处理功能。前不久在网上看到很多关于Junit测试的文章,欣闻Ant支持Junit的集成,迫不及待的尝试了一番。

1. ant的配置:

本案例采用apache-ant-1.6.5版本,下载ant后需要将Junit3.8.1拷贝到ANT_HOME的lib目录下。Ant在执行过程TestCase过程中除了需要在classpath中可见,还需要在ant中可见,否则会报错。

2. 目录结构:

工作目录

|-src-|—com-|—wallace-|-Calculator.java

|-test-|-TestCalculator.java

|-lib-|-junit.jar

|-build

|-report

3. build.xml模板:

<?xml version="1.0" encoding="utf-8"?>

<project name="test" default="test" basedir=".">


<!--配置基本属性-->

<property name="src" value="src"/>

<property name="build" value="build"/>

<property name="lib" value="lib" />

<property name="dist" value="dist"/>

<property name="classpath" location="${build}"/>



<!--配置测试报告的属性-->

<property name="report" value="report"/>

<property name="report.xml" value="${report}/junit/xml"/>

<property name="report.html" value="${report}/junit/html"/>


<!--配置运行时classpath-->

<path id="classpath.run">

<pathelement path="${classpath}"/>

<fileset dir="${lib}">

<include name="*.jar"/>

</fileset>

</path>



<!--配置测试时classpath-->

<path id="classpath.test">

<path refid="classpath.run"/>

<path location="${dist}/lib/test-${DSTAMP}.jar"/>

</path>



<!--任务初始化-->

<target name="init" >

<tstamp/>

<delete dir="${build}"/>

<delete dir="${report}"/>

<delete dir="${dist}"/>

<mkdir dir="${build}"/>

</target>



<!--配置编译任务-->

<target name="compile" depends="init">

<javac srcdir="${src}" destdir="${build}">

<classpath refid="classpath.run" />

</javac>

</target>



<!--配置打包任务-->

<target name="dist" depends="compile">

<mkdir dir="${dist}/lib"/>

<jar jarfile="${dist}/lib/test-${DSTAMP}.jar" basedir="${build}"/>

</target>



<!--配置运行任务-->

<target name="run" depends="compile, dist">

<java classname="com.test.TestCalculator">

<classpath>

<path refid="classpath.run"/>

</classpath>

</java>

</target>



<!--配置JUnit测试,打印测试结果-->

<target name="test" depends="compile, dist">

<mkdir dir="${report.xml}"/>

<mkdir dir="${report.html}"/>

<junit printsummary="yes" haltonfailure="no">

<classpath refid="classpath.run"/>

<formatter type="xml"/>

<batchtest fork="yes" todir="${report.xml}">

<fileset dir="${src}" includes="**/Test*.java"/>

</batchtest>

</junit>

<junitreport todir="${report.html}">

<fileset dir="${report.xml}">

<include name="*.xml"/>

</fileset>

<report format="frames" todir="${report.html}"/>

</junitreport>

</target>


</project>



模板三:
<?xml version="1.0"?>

<project name="Hello world" default="doc">
<!-- properies -->
<property name="src.dir" value="WEB-INF/src" />
<property name="report.dir" value="report" />
<property name="classes.dir" value="WEB-INF/classes" />
<property name="lib.dir" value="WEB-INF/lib" />
<property name="dist.dir" value="dist" />
<property name="doc.dir" value="doc" />
<!-- 定义classpath -->
<path id="master-classpath">
<fileset file="${lib.dir}/*.jar" />
<pathelement path="${classes.dir}" />
</path>
<!-- 初始化任务-->
<target name="init">
</target>
<!-- 编译-->
<target name="compile" depends="init" description="compile the source files">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" target="6.0">
<classpath refid="master-classpath" />
</javac>
</target>
<!-- 测试 -->
<target name="test" depends="compile" description="run junit test">
<mkdir dir="${report.dir}" />
<junit printsummary="on" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
<classpath refid="master-classpath" />
<formatter type="plain" />
<batchtest todir="${report.dir}">
<fileset dir="${classes.dir}">
<include name="**/*Test.*" />
</fileset>
</batchtest>
</junit>
<fail if="tests.failed">
</fail>
</target>
<!-- 打包成jar -->
<target name="jar" description="make .jar file">
<mkdir dir="${dist.dir}" />
<jar destfile="${dist.dir}/hello.jar" basedir="${classes.dir}">
<exclude name="**/*Test.*" />
<exclude name="**/Test*.*" />
</jar>
</target>
<!-- 将项目打包成war-->
<target name="war" depends="jar">
<war destfile="${basedir}/myApp.war" webxml="${basedir}/WEB-INF/web.xml">
<!--包含文件夹下所有内容-->
<fileset dir="${basedir}" casesensitive="yes" id="id">
<include name="WEB-INF/**" />
<exclude name="*.war" />
</fileset>
<lib dir="${lib.dir}">
<include name="*.jar" />
</lib>
</war>
</target>
<!-- 输出api文档 -->
<target name="doc" depends="jar" description="create api doc">
<mkdir dir="${doc.dir}" />
<javadoc destdir="${doc.dir}" author="true" version="true" use="true" windowtitle="Test API">
<packageset dir="${src.dir}" defaultexcludes="yes">
<include name="example/**" />
</packageset>
<doctitle>
<![CDATA[<h1>Hello, test</h1>]]></doctitle>
<bottom>
<![CDATA[<i>All Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:" />
</javadoc>
</target>
</project>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值