<?xml version="1.0" encoding="GBK" ?>
<project name="demo" default="usage" xmlns:catalina="antlib:org.apache.catalina.ant">
<!--属性配置-->
<!--目录结构-->
<property name="src.dir" location="src" />
<property name="tests.dir" location="test" />
<property name="web.dir" location="web" />
<property name="build.dir" location="build" />
<property name="dist.dir" location="dist" />
<property name="lib" location="lib" />
<property name="build.classes.dir" location="${build.dir}/classes" />
<property name="test.classes.dir" location="${build.dir}/test-classes" />
<property name="reports.dir" location="reports" />
<property name="reports.javadoc" location="${reports.dir}/javadoc" />
<property name="reports.data.dir" location="${reports.dir}/xml" />
<property name="reports.html.dir" location="${reports.dir}/html" />
<!--项目编译信息-->
<property name="project.name" value="${ant.project.name}" />
<property name="project.version" value="1.0" />
<property name="debug" value="on" /><!--on/off-->
<property name="src.encoding" value="UTF-8" />
<property name="source.version" value="1.6" />
<property name="target.version" value="1.6" />
<!--Tomcat信息-->
<property name="tomcat.install.dir" location="C:/Program Files/Apache Software Foundation/Tomcat 6.0" />
<property name="tomcat.manager.url" value="http://localhost:8080/manager" />
<property name="tomcat.manager.username" value="admin" />
<property name="tomcat.manager.password" value="admin" />
<property name="context-path" value="/${project.name}" />
<!--classpath配置-->
<path id="compile.classpath" >
<pathelement location="${build.classes.dir}" />
<fileset dir="${lib}" includes="*.jar" />
<fileset dir="${tomcat.install.dir}/lib" includes="*.jar" />
</path>
<path id="test.compile.classpath" >
<path refid="compile.classpath" />
<pathelement location="${build.classes.dir}" />
</path>
<path id="test.classpath" >
<path refid="test.compile.classpath" />
<pathelement path="${test.classes.dir}" />
</path>
<!--使用说明-->
<target name="usage">
<echo message="${project.name} - ${project.version}"/>
<echo message="" />
<echo message="create -- 创建项目目录结构" />
<echo message="compile -- 编译项目" />
<echo message="compile-tests -- 编译单元测试" />
<echo message="test -- 运行单元测试" />
<echo message="test.report -- 运行单元测试并生成测试报告" />
<echo message="javadoc -- 生成JavaDoc" />
<echo message="jar -- 打包所有class为jar" />
<echo message="war -- 打包web项目" />
<echo message="tomcat.start -- 启动Tomcat" />
<echo message="tomcat.stop -- 关闭Tomcat" />
<echo message="tomcat.start -- 启动Tomcat到Debug模式" />
<echo message="deploy -- 部署到Tomcat下" />
<echo message="undeploy -- 取消部署到Tomcat下" />
<echo message="clean -- 清理dist,build" />
<echo message="clean-all -- 清理dist,build,repots" />
</target>
<!--创建项目目录结构-->
<target name="create" >
<mkdir dir="${src.dir}" />
<mkdir dir="${tests.dir}" />
<mkdir dir="${lib}" />
<mkdir dir="${web.dir}" />
</target>
<!--初始化-->
<target name="init" >
<mkdir dir="${build.classes.dir}" />
<mkdir dir="${test.classes.dir}" />
<mkdir dir="${dist.dir}" />
<mkdir dir="${reports.data.dir}" />
<mkdir dir="${reports.html.dir}" />
<mkdir dir="${reports.javadoc}" />
</target>
<!--编译-->
<target name="compile" depends="init" description="Compile Java code" >
<javac srcdir="${src.dir}"
destdir="${build.classes.dir}"
classpathref="compile.classpath"
encoding="${src.encoding}"
debug="${debug}"
source="${source.version}"
target="${target.version}"/>
<copy todir="${build.classes.dir}">
<fileset dir="${src.dir}">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<!--编译测试-->
<target name="compile-tests" depends="compile" description="Compile Unit Tests" >
<javac srcdir="${tests.dir}"
destdir="${test.classes.dir}"
encoding="${src.encoding}"
debug="${debug}">
<classpath refid="test.compile.classpath" />
</javac>
<copy todir="${test.classes.dir}">
<fileset dir="${tests.dir}">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<!--运行单元测试-->
<target name="test" depends="compile-tests" description="Run unit tests" >
<junit printsummary="true" haltonfailure="false" failureproperty="test.failures" fork="true" >
<classpath refid="test.classpath" />
<formatter type="xml" />
<formatter type="plain" />
<batchtest todir="${reports.data.dir}" > <!--reports保存的目录-->
<fileset dir="${test.classes.dir}" includes="**/*Test.class" />
</batchtest>
</junit>
</target>
<!--单元测试报告-->
<target name="test.report" depends="test" description="Generate HTML unit test reports" >
<junitreport todir="${reports.data.dir}" >
<fileset dir="${reports.data.dir}" >
<include name="TEST-*.xml" />
</fileset>
<report format="noframes" todir="${reports.html.dir}" />
</junitreport>
<fail if="test.failures" message="There were test failures." />
</target>
<!--生成文档-->
<target name="javadoc" depends="compile,init" description="Generate JavaDocs." >
<javadoc sourcepath="${src.dir}"
destdir="${reports.javadoc}"
author="true"
version ="true"
use="true"
access="private"
linksource="true"
windowtitle="${ant.project.name} API"
source="${source.version}"
Encoding="${src.encoding}"
charset="${src.encoding}">
<classpath>
<path refid="compile.classpath" />
<pathelement path="${build.classes.dir}" />
</classpath>
<doctitle> <![CDATA[<h1>${ant.project.name}</h1>]]> </doctitle>
<bottom> <![CDATA[<i>Copyright & # 169; 2007 All Rights Reserved.</i>]]> </bottom>
</javadoc>
</target>
<!--打包jar,向MANIFEST. MF添加一些关于项目的信息,如时间,作者,版本-->
<target name="jar" depends="compile" description="Generate JAR file" >
<tstamp>
<format property="build.date" pattern="EEEE, d MMMM yyyy" />
<format property="build.time" pattern="hh:mm a" />
</tstamp>
<jar destfile="${dist.dir}/${project.name}-${project.version}.jar"
basedir="${build.classes.dir}" >
<manifest>
<attribute name="Built-By" value="${user.name}" />
<attribute name="Specification-Title" value="${project.name}" />
<attribute name="Specification-Version" value="${project.version}" />
<attribute name="Specification-Vendor" value="ACME Incorporated" />
<attribute name="Implementation-Title" value="common" />
<attribute name="Implementation-Version" value="${project.version} - built at ${build.time} on ${build.date} " />
<attribute name="Implementation-Vendor" value="ACME Incorporated" />
</manifest>
</jar>
</target>
<!--打包war-->
<target name="war" depends="compile" description="Generate WAR file" >
<war destfile="${dist.dir}/${project.name}.war"
webxml="${web.dir}/WEB-INF/web.xml" >
<fileset dir="${web.dir}" />
<classes dir="${build.classes.dir}" />
<lib dir="${lib}" >
<include name="*.jar" />
</lib>
<manifest>
<attribute name="Built-By" value="${user.name}" />
<attribute name="Specification-Title" value="${project.name}" />
<attribute name="Specification-Version" value="${project.version}" />
<attribute name="Specification-Vendor" value="ACME Incorporated" />
<attribute name="Implementation-Title" value="common" />
<attribute name="Implementation-Version" value="${project.version} - built at ${build.time} on ${build.date} " />
<attribute name="Implementation-Vendor" value="ACME Incorporated" />
</manifest>
</war>
</target>
<!--启动tomcat-->
<target name="tomcat.start">
<java jar="${tomcat.install.dir}/bin/bootstrap.jar" fork="true" spawn="true">
<jvmarg value="-Dcatalina.home=${tomcat.install.dir}"/>
</java>
</target>
<!--关闭tomcat-->
<target name="tomcat.stop">
<java jar="${tomcat.install.dir}/bin/bootstrap.jar" fork="true" spawn="true">
<jvmarg value="-Dcatalina.home=${tomcat.install.dir}"/>
<arg line="stop"/>
</java>
</target>
<!--启动tomcat到debug模式-->
<target name="tomcat.debug">
<java jar="${tomcat.install.dir}/bin/bootstrap.jar" fork="true" spawn="true">
<jvmarg value="-Dcatalina.home=${tomcat.install.dir}"/>
<jvmarg value="-Xdebug"/>
<jvmarg
value="-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"/>
</java>
</target>
<!--部署到tomcat,tomcat需要启动-->
<target name="deploy" depends="war" description="Deploy to Tomcat instance" >
<catalina:deploy url="${tomcat.manager.url}"
username="${tomcat.manager.username}"
password="${tomcat.manager.password}"
path="${context-path}"
localWar="file:${dist.dir}/${project.name}.war" />
</target>
<!--取消部署到tomcat,tomcat需要启动-->
<target name="undeploy" description="Remove application in Tomcat">
<catalina:undeploy url="${tomcat.manager.url}"
username="${tomcat.manager.username}"
password="${tomcat.manager.password}"
path="${context-path}" />
</target>
<!--reload,tomcat需要启动-->
<target name="reload" description="Reload application in Tomcat">
<catalina:reload url="${tomcat.manager.url}"
username="${tomcat.manager.username}"
password="${tomcat.manager.password}"
path="${context-path}" />
</target>
<!--Clean-->
<target name="clean">
<delete dir="${dist.dir}"/>
<delete dir="${build.dir}"/>
</target>
<!--Clean All-->
<target name="clean-all">
<delete dir="${dist.dir}"/>
<delete dir="${build.dir}"/>
<delete dir="${reports.dir}"/>
</target>
</project>
分享到:
相关推荐
覆盖原有的`ndk-build.cmd`前,建议备份原有文件,以防新版本不兼容或出现问题。 **profile.xml**通常与性能配置或构建配置有关,它可能包含了Incredibuild的设置。Incredibuild是一款强大的软件加速工具,尤其适用...
【标题】"eclipse代码备份5"所涉及的是一个关于Eclipse开发环境的代码存档,这通常意味着它包含了某个开发者或团队在Eclipse中进行的一系列项目或代码片段的集合。Eclipse是一款广泛使用的开源集成开发环境(IDE),...
在描述中提到,这个自动备份脚本通过XML文件(即`build.xml`)来指定备份的原始路径、目标备份路径以及设置备份的时间。这样的设置使得备份过程可配置且灵活,可以根据项目需求进行调整。增量备份是备份策略的一种,...
在IT行业中,代码备份是开发工作中的重要环节,它确保了软件项目的源代码安全,防止因意外丢失或损坏导致无法恢复的情况。"Sut3.23备份代码备份"这个标题可能指的是一个特定的代码备份流程或者系统,可能是某个项目...
通常,Java项目中的文件可能包括源代码(.java)、编译后的类文件(.class)、配置文件(.properties或.xml)、资源文件(图片、音频等)以及项目构建文件(如Maven的pom.xml或Gradle的build.gradle)。 总之,...
如果`build.bat`文件有备份(如`build.bat.bak`),可能是为了防止意外改动,保留了原始的构建脚本。 6. **依赖管理**:`lib.rar`文件可能包含了项目所需的第三方库。Ant会将这些库添加到类路径中,以便于编译和...
版本控制系统如Git可以帮助管理代码备份,而其他工具如rsync或Robocopy可以用于其他类型文件的备份。 4. **数据库备份**:如果Java项目涉及到数据库,备份通常会包括数据库的结构、数据以及事务日志。MySQL、Oracle...
安卓自动备份 ant auto build Android Package蚂蚁演示ant 自动构建 Android 包Android ant自动脚本自动替换友盟渠道、版本号、包名,而不影响代码(修改的是临时目录中的代码)。如何集成到我的项目里前提android...
- `coco_codeFormat.xml` 可能是一个自定义的Eclipse代码格式化规则文件,允许开发者按照特定的编码风格自动格式化Java代码。 - `coco_cleanUp.xml` 可能是Eclipse的清理配置文件,定义了在执行代码清理操作时的一...
在`build.xml`文件中定义这些任务,它们描述了构建过程中的各个步骤,如编译源代码、创建JAR或WAR文件、复制文件到特定目录等。 在Eclipse中,你需要安装一个名为“Eclipse Ant Integration”的插件,使得Eclipse...
1. Ant是基于XML的,它的主要配置文件是`build.xml`,其中定义了一系列的构建任务(tasks)。 2. Ant的核心组件包括项目(Project)、目标(Target)和任务(Task)。项目包含多个目标,每个目标由一系列任务构成。 ...
若文件名为hello.xml时,读者还需要对命令做少许改变,改为:ant –f hello.xml sayHelloWorld、ant –buildfile hello.xml sayHelloWorld或ant –file hello.xml sayHelloWorld。 接下来开始向读者讲解本节的重点...
6. **备份配置文件**:除了源代码,还应备份项目配置文件,如build.xml、flex.properties等。 7. **测试恢复过程**:定期尝试从备份恢复项目,以确保备份的有效性。 在备份过程中,需要注意的是,仅仅备份源代码还...
本备份文件"hibernate代码备份"中,可能包含了关于Hibernate的配置、实体类定义、映射文件、会话管理、查询操作等方面的内容,旨在为开发者提供一个完整的Hibernate项目参考。 一、Hibernate核心概念 1. 实体...
总结来说,将Struts2从2.0.xx或2.3.28.1升级到2.5.12是一个涉及多个步骤的过程,包括备份、下载新版本、更新配置、修改代码以及全面测试。这个过程对于保护你的应用免受潜在威胁至关重要,同时也能享受到新版本带来...
这个标签意味着压缩包中的内容可能包括.java源代码文件、编译后的.class文件、项目配置文件(如pom.xml或build.gradle)以及可能的测试文件。 压缩包子文件的文件名 "glp-factor2.0" 可能是指项目中的一个特定模块...
3. **数据导入/导出**:方便地导入和导出数据,支持多种格式如CSV、XML等。 4. **版本控制**:集成版本控制系统,便于团队协作和代码管理。 5. **性能监控**:实时查看数据库性能指标,帮助优化查询和配置。 6. **...
- `build.xml~`:可能是`build.xml`的备份文件。 - `res`:资源文件夹,包含应用的所有资源,如图片、布局、颜色、字符串等。 - `.settings`:Eclipse或Android Studio的项目设置文件夹,包含了IDE特定的配置信息...
Maven的settings.xml文件中会包含个人或全局的仓库定义,而pom.xml(如果是Maven项目)或build.gradle(如果是Gradle项目)则会引用这些仓库以获取构建所需的依赖。 在"repositories.xml"中,开发者可以列出像Maven...