`
mshijie
  • 浏览: 96266 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

代码备份build.xml

    博客分类:
  • Java
阅读更多
<?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>
 
分享到:
评论

相关推荐

    incredibuild_ndk-build.rar

    覆盖原有的`ndk-build.cmd`前,建议备份原有文件,以防新版本不兼容或出现问题。 **profile.xml**通常与性能配置或构建配置有关,它可能包含了Incredibuild的设置。Incredibuild是一款强大的软件加速工具,尤其适用...

    eclipse代码备份5

    【标题】"eclipse代码备份5"所涉及的是一个关于Eclipse开发环境的代码存档,这通常意味着它包含了某个开发者或团队在Eclipse中进行的一系列项目或代码片段的集合。Eclipse是一款广泛使用的开源集成开发环境(IDE),...

    JAVA ANT 自动备份程序

    在描述中提到,这个自动备份脚本通过XML文件(即`build.xml`)来指定备份的原始路径、目标备份路径以及设置备份的时间。这样的设置使得备份过程可配置且灵活,可以根据项目需求进行调整。增量备份是备份策略的一种,...

    Sut3.23备份代码备份

    在IT行业中,代码备份是开发工作中的重要环节,它确保了软件项目的源代码安全,防止因意外丢失或损坏导致无法恢复的情况。"Sut3.23备份代码备份"这个标题可能指的是一个特定的代码备份流程或者系统,可能是某个项目...

    Java代码备份000000

    通常,Java项目中的文件可能包括源代码(.java)、编译后的类文件(.class)、配置文件(.properties或.xml)、资源文件(图片、音频等)以及项目构建文件(如Maven的pom.xml或Gradle的build.gradle)。 总之,...

    Ant+Svn打包Web工程

    如果`build.bat`文件有备份(如`build.bat.bak`),可能是为了防止意外改动,保留了原始的构建脚本。 6. **依赖管理**:`lib.rar`文件可能包含了项目所需的第三方库。Ant会将这些库添加到类路径中,以便于编译和...

    乌怒备份乌怒备份乌怒备份.rar

    版本控制系统如Git可以帮助管理代码备份,而其他工具如rsync或Robocopy可以用于其他类型文件的备份。 4. **数据库备份**:如果Java项目涉及到数据库,备份通常会包括数据库的结构、数据以及事务日志。MySQL、Oracle...

    安卓自动备份 ant auto build Android Package.zip

    安卓自动备份 ant auto build Android Package蚂蚁演示ant 自动构建 Android 包Android ant自动脚本自动替换友盟渠道、版本号、包名,而不影响代码(修改的是临时目录中的代码)。如何集成到我的项目里前提android...

    ant android build config

    - `coco_codeFormat.xml` 可能是一个自定义的Eclipse代码格式化规则文件,允许开发者按照特定的编码风格自动格式化Java代码。 - `coco_cleanUp.xml` 可能是Eclipse的清理配置文件,定义了在执行代码清理操作时的一...

    ant部署远程服务器

    在`build.xml`文件中定义这些任务,它们描述了构建过程中的各个步骤,如编译源代码、创建JAR或WAR文件、复制文件到特定目录等。 在Eclipse中,你需要安装一个名为“Eclipse Ant Integration”的插件,使得Eclipse...

    13_ant_发布web项目和操作数据库

    1. Ant是基于XML的,它的主要配置文件是`build.xml`,其中定义了一系列的构建任务(tasks)。 2. Ant的核心组件包括项目(Project)、目标(Target)和任务(Task)。项目包含多个目标,每个目标由一系列任务构成。 ...

    ant1.9资源

    若文件名为hello.xml时,读者还需要对命令做少许改变,改为:ant –f hello.xml sayHelloWorld、ant –buildfile hello.xml sayHelloWorld或ant –file hello.xml sayHelloWorld。 接下来开始向读者讲解本节的重点...

    Flex 项目安装备份文件

    6. **备份配置文件**:除了源代码,还应备份项目配置文件,如build.xml、flex.properties等。 7. **测试恢复过程**:定期尝试从备份恢复项目,以确保备份的有效性。 在备份过程中,需要注意的是,仅仅备份源代码还...

    hibernate代码备份

    本备份文件"hibernate代码备份"中,可能包含了关于Hibernate的配置、实体类定义、映射文件、会话管理、查询操作等方面的内容,旨在为开发者提供一个完整的Hibernate项目参考。 一、Hibernate核心概念 1. 实体...

    Struts2漏洞2.0.xx升级为Struts-2.5.12步骤

    总结来说,将Struts2从2.0.xx或2.3.28.1升级到2.5.12是一个涉及多个步骤的过程,包括备份、下载新版本、更新配置、修改代码以及全面测试。这个过程对于保护你的应用免受潜在威胁至关重要,同时也能享受到新版本带来...

    old-project.7z

    这个标签意味着压缩包中的内容可能包括.java源代码文件、编译后的.class文件、项目配置文件(如pom.xml或build.gradle)以及可能的测试文件。 压缩包子文件的文件名 "glp-factor2.0" 可能是指项目中的一个特定模块...

    Workbench-Build123.zip

    3. **数据导入/导出**:方便地导入和导出数据,支持多种格式如CSV、XML等。 4. **版本控制**:集成版本控制系统,便于团队协作和代码管理。 5. **性能监控**:实时查看数据库性能指标,帮助优化查询和配置。 6. **...

    自定义gallery

    - `build.xml~`:可能是`build.xml`的备份文件。 - `res`:资源文件夹,包含应用的所有资源,如图片、布局、颜色、字符串等。 - `.settings`:Eclipse或Android Studio的项目设置文件夹,包含了IDE特定的配置信息...

    workspace_experiment.rar

    Maven的settings.xml文件中会包含个人或全局的仓库定义,而pom.xml(如果是Maven项目)或build.gradle(如果是Gradle项目)则会引用这些仓库以获取构建所需的依赖。 在"repositories.xml"中,开发者可以列出像Maven...

Global site tag (gtag.js) - Google Analytics