`

Build.xml模板

 
阅读更多
一个通用Build.xml模板的建立
http://www.blogjava.net/os586/archive/2006/10/18/75819.html
一、建立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>



ant集成junit自动测试的build.xml标准模板
http://liyuandong.iteye.com/blog/964027
本文来自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>
分享到:
评论

相关推荐

    用ant编译J2ME代码的build.xml模板

    用ant编译J2ME代码的build.xml模板。该模板在本人项目中应用,测试通过。你的项目中只要修改Conf.properties中的变量路径和GEN.properties中的入口类名即可。

    ant的build.xml模板

    NULL 博文链接:https://siwind.iteye.com/blog/1473839

    Jmeter+ant实现测试报告build.xml和报告模板jmeter-results-newreport.xsl

    jmeter实现接口自动化测试: 1)buil.xml文件实现了测试报告和发邮件 2)优化后的报告模板:jmeter-results-newreport.xsl

    EJB集成ANT的build.xml配置模板

    EJB集成ANT的build.xml配置模板

    ant脚本-build.xml

    ant脚本例子,一个build.xml模板, 修改后直接运行。

    Ant build.xml模版

    项目开发时就用的此模版,按照注释部分配置即可

    Maven -史上 最全POM.xml模板

    最全maven pom文件 功能包括 1.整合 scm(git) 、ci(hudson)、issus...3.build 部分,自定义目录功能 4.report整合包括:javadoc、jxr、checkstyle、pmd、changelog、emma、cobertura、jdepend、codehaus、javancss

    phing-drupal-template, Drupal项目的模板 Phing build.xml 文件.zip

    phing-drupal-template, Drupal项目的模板 Phing build.xml 文件 Phing模板针对构建系统的XML构建文件,为项目设计了任务和配置。有关更多信息,请阅读文档 。相关项目Jenkins的项目模板: Drupal项目的标准Jenkins...

    build源码---

    Ant之build.xml配置参数模板,源代码,修改后缀名即可

    PythonAndroidTemplate.zip

    Python Android Template 是运行 Python 代码创建 Android 应用的 cookiecutter ... build.xml  custom_rules.xml  local.properties  LICENSE  proguard-project.txt  project.properties 标签:Python

    gradle-replacer:提供简约模板引擎功能的 Gradle 插件

    gradle-replacer ...build/outputs/production/config.xml 例子 构建脚本 构建.gradle buildscript { repositories { maven { url uri( ' https://oss.sonatype.org/content/repositories/snapshots/ '

    apkmod:APKMod是为更改AndroidManifest.xml中的元数据而开发的

    APKMod是为更改AndroidManifest.xml中的元数据而开发的 更具可配置性 使用json文件存储配置。 您可以配置签名密钥和密钥密码。 使用配置文件,您可以使用任何值修改任何元数据。 要求 您应该安装apktool。 配置 ...

    S-CMS工艺品网站系统 v3.0 build20170520.rar

    S-CMS工艺品网站系统 v3.0 build20170520 更新日志 1.优化:后台生成自定义设置文件config.xml时,增加格式化,使文件更加容易阅读和修改 2.优化:核心文件调整,支持底部文件读取 菜单ID 标签 3.新增:加入图片...

    IntegrationSetup:命令行帮助程序,用于设置集成工具

    该脚本使用添加了build.xml ,phpunit配置文件,phpmd设置,sonarQube设置和文档生成。 当前,它不支持外部模板文件夹 安装 使用安装最新版本 $ composer require mlequer/integration-setup 用法 Usage: setup ...

    马克斯CMS(maxcms) v2.0 for Access build 090614.rar

    请在IIS下调试,动态版请指定默认文档为index.asp,动态版是有缓存的,请修改过数据或是模板后在后台清除缓存然后前台看效果。 程序更新历史记录: 2009.06.14**11:51土豆播放器失效修正,/js/play.swf 2009.05.20**...

    马克斯CMS(maxcms) v2.0 for sqlserver build 090614.rar

    请在IIS下调试,动态版请指定默认文档为index.asp,动态版是有缓存的,请修改过数据或是模板后在后台清除缓存然后前台看效果。 程序更新历史记录: 2009.06.14**11:51土豆播放器失效修正,/js/play.swf 2009.05.20**...

    awayblog v1.0 build 20091212.rar

    1.模板与标签分离,方便DIY模板 2.首页,分类,tag伪静态显示 3.日志,后台自动生成html 4.评论功能,随日志后台生成html,可关闭任一日志的评论 5.支持友情链接,后台生成html,可开启或关闭 6.支持sitemap,...

    Simple-Log v1.7 build20190306.zip

    Simple-Log v1.7 build20190306 更新日志 1.适配PHP7以上版本【支持php5/php7等主流版本】 2.采用最新版本smarty 3.编辑器切换为百度ueditor编辑器 4.修复feed非xml 5.修复评论bug Simple-Log截图 相关阅读...

    TemplateMode:用于在 Processing IDE 2.0 中扩展 Java 模式的模式模板

    用于处理 2.0 的模式模板 弗洛里安·杰内特马丁·利奥波德笔记默认情况下,这会扩展 JavaMode,因此您将获得熟悉的编辑器和您习惯的所有功能,这些功能来自您的模式中的 vanilla 处理。 如果您不想扩展 JavaMode,请...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract ...

Global site tag (gtag.js) - Google Analytics