myprj-build.properties:
build.home=./build
dist.home=./dist
app.name=myprj
junit.report.dir=./report/junit
coverage.report.dir=./report/coverage
myprj.lib.dir=./WEB-INF/lib
myprj.libtest.dir=./WEB-INF/libtest
findbugs.home=C:/findbugs-1.2.1
tomcat.home=D:/apache-tomcat-5.5.27
myprj-build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="myprj" basedir="." default="war">
<property file="myprj-build.properties"/>
<!--
<taskdef resource="checkstyletask.properties"
classpath="${myprj.libtest.dir}/checkstyle-all-4.3.jar" />
<taskdef resource="djunittasks.properties"
classpath="${myprj.libtest.dir}/djunit.jar" />
-->
<path id="class.path">
<fileset dir="${myprj.lib.dir}">
<include name="**/*.jar"/>
</fileset>
<!--
<fileset dir="${myprj.libtest.dir}">
<include name="**/*.jar"/>
</fileset>
-->
</path>
<!--=============== clean ===============-->
<target name="prepare">
<mkdir dir="${build.home}"/>
<mkdir dir="${dist.home}"/>
</target>
<!--=============== clean ===============-->
<target name="clean" depends="clean-build, clean-dist">
</target>
<!--=============== clean-build ===============-->
<target name="clean-build">
<delete dir="${build.home}"/>
</target>
<!--=============== clean-dist ===============-->
<target name="clean-dist">
<delete dir="${dist.home}"/>
</target>
<!--=============== compile ===============-->
<target name="compile" depends="prepare">
<mkdir dir="${build.home}/WEB-INF/classes"/>
<copy todir="${build.home}" includeEmptyDirs="false" flatten="false">
<fileset dir="." excludes="build/**,**/*.scc,WEB-INF/lib/servlet-api.jar,WEB-INF/lib/jsp-api.jar,WEB-INF/src/**,WEB-INF/srctest/**,WEB-INF/libtest/**,*.bat,*build*.xml,*build*.properties,.classpath,.project,docs/**,work/**,.checkstyle,.djunitplugin,.tomcatplugin,.fbprefs,.settings/**"/>
</copy>
<copy todir="${build.home}/WEB-INF/classes" includeEmptyDirs="false" flatten="false">
<fileset dir="WEB-INF/src" excludes="**/*.scc, **/*.java, **/DaoContext.xml, **/ddl.txt"/>
</copy>
<javac srcdir="./WEB-INF/src"
destdir="${build.home}/WEB-INF/classes"
debug="on"
target="1.6"
source="1.6"
encoding="UTF-8"
optimize="true">
<classpath refid="class.path"/>
</javac>
</target>
<!--=============== war ===============-->
<target name="war" depends="clean-dist, compile">
<war destfile="${dist.home}/${app.name}.war" webxml="./WEB-INF/web.xml">
<fileset dir="${build.home}"/>
</war>
</target>
<!--=============== deploy ===============-->
<target name="deploy" depends="war">
<copy file="${build.home}/${app.name}.war" todir="${tomcat.home}/webapps"/>
</target>
<!--=============== undeploy ===============-->
<target name="undeploy" depends="war">
<delete file="${tomcat.home}/webapps/${app.name}.war"/>
<delete dir="${tomcat.home}/webapps/${app.name}"/>
</target>
<!--=============== source ===============-->
<target name="pkg-src">
<jar destfile="${dist.home}/${app.name}-src.jar">
<fileset dir="./WEB-INF/src" excludes="**/*.scc, **/ddl.txt, **/DaoContext.xml"/>
</jar>
</target>
<!--=============== dist ===============-->
<target name="dist" depends="war, pkg-src"/>
<!--=============== compile-test ===============-->
<target name="compile-test" depends="compile">
<mkdir dir="${build.home}/WEB-INF/classes-test"/>
<!--
<copy todir="${build.home}" includeEmptyDirs="false" flatten="false">
<fileset dir="." excludes="build/**, **/*.scc, WEB-INF/lib/servlet-api.jar, WEB-INF/lib/jsp-api.jar, WEB-INF/src/**, WEB-INF/srctest/**, WEB-INF/libtest/**, *.bat, *build*.xml, *build*.properties, .classpath, .project, docs/**"/>
</copy>
<copy todir="${build.home}/WEB-INF/classes" includeEmptyDirs="false" flatten="false">
<fileset dir="WEB-INF/src" excludes="**/*.scc, **/*.java, **/DaoContext.xml, **/ddl.txt"/>
</copy>
-->
<javac srcdir="./WEB-INF/srctest"
destdir="${build.home}/WEB-INF/classes-test"
debug="off"
target="1.6"
source="1.6"
encoding="UTF-8"
optimize="true">
<classpath refid="class.path"/>
<classpath path="${build.home}/WEB-INF/classes"/>
</javac>
</target>
<!--=============== test ===============-->
<target name="djunit.test" depends="compile-test">
<delete dir="${junit.report.dir}"/>
<mkdir dir="${junit.report.dir}"/>
<djunit printsummary="yes" targetsrcdir="./WEB-INF/src" virtualmock="yes" coverage="yes">
<jvmarg value="-Djp.co.dgic.eclipse.classloader.bytecodelibrary=BCEL"/>
<classpath refid="class.path"/>
<classpath path="${build.home}/WEB-INF/classes"/>
<formatter type="xml"/>
<batchtest todir="${junit.report.dir}">
<fileset dir="${build.home}/WEB-INF/classes-test">
<include name="**/*Test.class"/>
</fileset>
</batchtest>
</djunit>
<junitreport>
<fileset dir="${junit.report.dir}">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${junit.report.dir}"/>
</junitreport>
</target>
<!--=============== djUnit Coverage Report ===============-->
<target name="djunit.report" depends="djunit.test">
<delete dir="${coverage.report.dir}"/>
<mkdir dir="${coverage.report.dir}"/>
<djunit-coverage-report serFile="./jcoverage.ser" srcdir="./WEB-INF/srctest" destdir="${coverage.report.dir}">
<classpath refid="class.path"/>
<classpath path="${build.home}/WEB-INF/classes"/>
</djunit-coverage-report>
</target>
<!--=============== CheckStyle ===============-->
<target name="checkstyle"
description="Generates a report of code convention violations.">
<checkstyle config="docs/myprj_CheckStyle.xml"
failureProperty="checkstyle.failure"
failOnViolation="false">
<formatter type="xml" tofile="checkstyle_report.xml"/>
<fileset dir="./WEB-INF/src" includes="**/*.java"/>
</checkstyle>
<style in="checkstyle_report.xml" out="checkstyle_report.html" style="docs/checkstyle.xsl"/>
</target>
<!-- run this target as part of automated build -->
<target name="checkstyle-nightly"
depends="checkstyle"
if="checkstyle.failure"
description="Sends email if checkstyle detected code conventions violations.">
<!-- use your own server and email addresses below. See Ant documentation for details -->
<mail from="qa@some.domain"
tolist="someone@some.domain,someoneelse@some.domain"
mailhost="mailbox.some.domain"
subject="Checkstyle violation(s) in project ${ant.project.name}"
files="checkstyle_report.html"/>
</target>
<!--=============== FindBugs ===============-->
<!--
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>
<target name="findbugs" depends="compile">
<findbugs home="${findbugs.home}"
output="xml"
outputFile="bcel-fb.xml" >
<auxClasspath path="${basedir}/lib/Regex.jar" />
<sourcePath path="${basedir}/WEB-INF/src" />
<class location="${basedir}/WEB-INF/libtest/bcel-5.2.jar" />
</findbugs>
</target>
-->
</project>
在eclipse里,直接运行run as ant build就可以,生成build和dist文件夹:
Buildfile: D:\workspace_myprj_3.2\myprj\myprj-build-default.xml
clean-dist:
prepare:
[mkdir] Created dir: D:\workspace_myprj_3.2\myprj\build
[mkdir] Created dir: D:\workspace_myprj_3.2\myprj\dist
compile:
[mkdir] Created dir: D:\workspace_myprj_3.2\myprj\build\WEB-INF\classes
[copy] Copying 4317 files to D:\workspace_myprj_3.2\myprj\build
war:
[war] Building war: D:\workspace_myprj_3.2\myprj\dist\myprj.war
[war] Warning: selected war files include a WEB-INF/web.xml which will be ignored (please use webxml attribute to war task)
BUILD SUCCESSFUL
Total time: 3 minutes 50 seconds
分享到:
相关推荐
标题和描述提到的"自动获取SVN代码并编译代码 以及自动部署方案"是一种高效的工作流,它整合了版本控制、编译和部署三个重要环节,使得开发团队能够快速响应变更,减少手动操作带来的错误。以下是关于这个主题的详细...
Eclipse SVN插件是开发人员在使用Eclipse IDE时用于版本控制的重要工具,它与Subversion(SVN)系统紧密集成,使得代码的版本管理和协同工作变得更加便捷。Subversion是一种开源的版本控制系统,用于跟踪文件和目录...
Subversion (SVN) 是一款开源的集中式版本控制系统,广泛应用于软件项目的源代码管理。它允许开发者们保存项目历史记录,从而可以回溯到任何时间点的代码状态。而在 Eclipse IDE 中集成 SVN 功能,能够极大地提升...
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪项目源代码的变更。Ant是Apache组织开发的一个Java构建工具,它提供了通过XML格式的构建文件(build.xml)来自动化软件构建过程的能力。在这个SVN+...
### Eclipse 下切换 SVN 用户的方法详解 #### 背景介绍 Eclipse 是一款非常流行的开源集成开发环境(IDE),广泛应用于 Java 开发领域。而 Subversion(SVN)作为版本控制系统之一,在软件开发过程中扮演着重要的...
在给定的场景中,"ant 脚本从svn上取代码打包代码全,同时包括相关的jar包",这意味着我们需要了解如何用Ant配合Subversion(SVN)进行代码管理,并打包项目,同时处理依赖的jar文件。 首先,让我们来看看Ant脚本的...
Eclipse通过安装SVN插件,如Subversive或Subclipse,可以实现与SVN服务器的无缝对接,为开发者提供一个直观的界面来管理他们的源代码版本。 以下是关于在Eclipse中使用64位SVN的详细步骤和相关知识点: 1. **安装...
本文将详细讲解如何在集成开发环境Eclipse中配置 SVN,以实现代码的版本管理和团队协作。 首先,我们需要确保已经安装了Eclipse IDE。Eclipse是一款功能强大的开源Java开发工具,但它同样支持多种语言的开发。为了...
### Eclipse中利用SVN进行分支管理 #### 一、创建分支 在Eclipse中通过Subversion (SVN) 创建分支是一种常见的版本控制操作。以下是具体的步骤: 1. **选择项目**: - 在Eclipse中打开您的项目。 - 右键点击您...
在IT行业中,代码管理是软件开发过程中的关键环节,它确保了团队成员间代码的...通过阅读《在Eclipse下使用SVN-CC-GIT-VSS-CVS代码管理工具说明书.pdf》文档,可以获得更详细的步骤和技巧,更好地掌握这些工具的使用。
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的历史记录,允许团队成员协作开发,同时保持文件的版本控制。Eclipse是一款强大的集成开发环境(IDE),支持多种编程语言,如...
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪项目源代码的变更。它允许开发者在多人协作的环境中工作,记录每一次修改,方便回溯、合并和分支管理。下面将详细阐述SVN的核心概念、功能及如何在...
SVN(Subversion)是一种版本控制系统,用于管理代码版本,便于多人协作开发。在没有网络连接的情况下,Eclipse离线安装SVN插件是开发者们常面临的问题。以下将详细介绍如何在Eclipse中离线安装SVN插件。 首先,...
总之,通过在Eclipse中集成SVN插件,开发者能够高效地进行代码版本控制,促进团队间的协作,解决代码冲突,以及轻松管理项目的历史版本。这一系列操作不仅提升了开发效率,还保证了代码的质量和安全性。
Eclipse SVN 1.8 插件是专为Eclipse集成开发环境设计的一款版本控制系统工具,主要用于协同开发和代码管理。Subversion(简称SVN)是一个开源的版本控制系统,允许团队成员在一个共享仓库中存储、管理和跟踪代码变更...
本文将详细讲解如何在Eclipse集成开发环境中安装和使用SVN插件,以便于团队成员协同开发和管理代码。 首先,我们需要安装Eclipse IDE。以Eclipse Helios为例,这是一个解压缩即用的版本,只需将下载的文件解压,...
SVN(Subversion)是一种版本控制系统,用于管理软件项目中的源代码和其他文件,使得多人协作开发变得可能。 在"eclipse 4.6 neno SVN插件包"中,我们主要关注的是如何在Eclipse Neon中集成和使用SVN功能。以下是...
在实际应用中,`build.xml`文件会包含一系列Ant任务,比如`svnCheckout`来从SVN检出代码,`javac`来编译Java源码,`junit`来运行测试,以及`jar`或`war`来打包应用。这些任务可以通过Ant的条件语句和循环结构进行...
Eclipse SVN 是一个功能强大的版本控制系统,广泛应用于软件开发项目中。本文将详细讲解 Eclipse SVN 中创建分支、合并、切换的操作步骤。 一、创建分支 创建分支是 SVN 中的一种重要操作,通过创建分支,可以让多...
在日常开发中,通过Eclipse SVN插件,开发者可以轻松地管理代码版本,协同团队成员工作,保持代码的整洁和一致性,提升开发效率。同时,Eclipse SVN 1.9离线包的提供,避免了网络环境不佳时在线安装的困扰,使得...