`
yushan
  • 浏览: 147008 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Ant自动构建总结

    博客分类:
  • j2ee
阅读更多

 

最近在项目中用到Ant自动构建,在此记录Ant的学习及使用过程,以备后用;也希望刚初学Ant的javaeyer们提供一些帮助,呵呵.

 

一.Ant环境搭配

     下载ANT包 http://ant.apache.org/bindownload.cgi   俺用的是apache-ant-1.7.1-bin.zip

 

     在搭配及使用Ant前,需要安装好JDK,及配置好JDK的环境;例如JDK安装在D:\javaprogram\Java;

 

    WINDOWS XP:

 

     右击我的电脑-->属性-->高级-->环境变量

     JAVA_HOME: D:\javaprogram\Java\jdk1.6.0_02;

     PATH: %JAVA_HOME%\bin;%ANT_HOME%\bin ;

     CLASSPATH: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar ;

 

     将apache-ant-1.7.1-bin.zip解压在D:\javaprogram\ 下;设置Ant环境:

     ANT_HOME:D:\javaprogram\apache-ant-1.7.1

     PATH:%JAVA_HOME%\bin;%ANT_HOME%\bin (添加在原先设置的path之后)

 

     测试ant是否配置好:

 

     打开 cmd,运行  ant  -version  如果出现   Apache Ant version 1.7.1 compiled on June 27 2008 

     则配置成功 ;

 

     Linux中搭配Ant:

 

     首先要安装好JDK(Linux中的jdk安装在俺的博客中有说道) ;俺用的是apache-ant-1.7.1-bin.tar.gz,将其解压在 

 

     /usr/local/下,修改 /etc/profile 文件,在原先配置的JDK路径中加入以下内容(红色为添加的内容)


    ANT_HOME=/usr/local/apache-ant-1.7.1
    JAVA_HOME=/usr/java/jdk1.6.0_10
    JRE_HOME=/usr/java/jdk1.6.0_10/jre
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ANT_HOME/bin
    CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export ANT_HOME   JAVA_HOME JRE_HOME PATH CLASSPATH

 

    保存退出;在shell下运行 source  /etc/profile;

 

   linux中测试ant是否测试成功:

   shell下运行:ant -version  出现 Apache Ant version 1.7.1 compiled on June 27 2008 (恭喜配置成功)

 

二.Ant的build.xml配置文件

    以下build.xml的配置内容是网上各个资料的总结,及测试通过的,功能有:编译,打包, 部署,生成javadoc 和 junitdoc ;        

 

<?xml version="1.0" encoding="utf-8"?>
<!-- ==================================================== -->
<!-- Build file for AntDemoWeb-->
<!-- Author: yushan -->
<!-- ==================================================== -->
<project name="AntDemoWeb" default="dist" basedir=".">

	<!-- 建立目录结构
		src       JAVA源码编辑目录
		lib       jar包(类库)存放目录
		bin       编译生成的class文件存放目录
		dist      war,junitReport和javadoc存放目录
		WebRoot   jsp文件存放地方
	-->





	<property name="appName" value="AntDemoWeb" />
	<property name="src.dir" value="../src" />
	<property name="lib.dir" value="../WebRoot/WEB-INF/lib" />
	<property name="dist.dir" value="../dist" />
	<property name="classes.dir" value="../WebRoot/WEB-INF/classes" />
      <!--  web 项目部署环境 -->
	<property name="webapps.dir" value="D:/javaprogram/tomcat6.0/webapps/AntDemoWeb" />





	<property name="webroot.dir" value="../WebRoot" />



	<!-- Compilation Classpath 路径设置 -->





	<path id="compile.classpath">
		<pathelement location="${classes.dir}" />
		<fileset dir="${lib.dir}" includes="**/*.jar" />
	</path>

	<!-- Clean Target 删除先前的目录结构 -->





	<target name="clean" description="Delete old build and dist directories">
		<delete dir="${clesses.dir}" />
		<delete dir="${dist.dir}" />
		<delete dir="${webapps.dir}" />
		<echo>clean is complete!</echo>
	</target>

	<!-- Prepare Target 建立打包的目的目录结构 -->





	<target name="prepare">
		<mkdir dir="${classes.dir}" />
		<mkdir dir="${dist.dir}" />
		<echo>prepare is complete!</echo>
	</target>

	<!-- Compile Target 编译代码,在这之前先由prepare建立目录结构 encoding="utf-8" 处理乱码 -->





	<target name="compile" depends="prepare" description="Compile java sources">
		<!-- Compile java class as necessary -->
               <!-- 注意:如果有两个源代码目录应该: srcdir="${src.dir};${test.dir}",用分号隔开-->

		<javac srcdir="${src.dir}" destdir="${classes.dir}" encoding="utf-8" debug="true">
			<classpath refid="compile.classpath" />
		</javac>

		<copy todir="${classes.dir}">
			<fileset dir="${src.dir}">
				<include name="**/*.xml" />
				<include name="**/*.properties" />
			</fileset>
		</copy>
		<echo>compile is complete!</echo>
	</target>

	<!-- Deploy Target 在tomcat下建立应用目录并部署应用 -->





	<target name="deploy" depends="compile" description="Deploy application to servlet container">
		<!-- Copy the contents of the build directory -->
		<mkdir dir="${webapps.dir}" />
		<copy todir="${webapps.dir}">
			<fileset dir="${webroot.dir}" />
		</copy>

		<mkdir dir="${webapps.dir}/WEB-INF/classes" />
		<copy todir="${webapps.dir}/WEB-INF/classes">
			<fileset dir="${classes.dir}">
				<include name="**/**" />
			</fileset>
		</copy>

		<mkdir dir="${webapps.dir}/WEB-INF/lib" />
		<copy todir="${webapps.dir}/WEB-INF/lib">
			<fileset dir="${lib.dir}" includes="*.jar" />
		</copy>
		<echo>deploy is complete!</echo>
	</target>



	<!-- Dist Target 将应用打包成war,在这之前先执行javadoc和deploy -->





	<target name="dist" depends="clean,deploy" description="Create binary destribution">
		<jar jarfile="${dist.dir}/${appName}.war" basedir="${webapps.dir}" />
		<echo>dist is complete!</echo>
	</target>

	<!-- Javadoc Target 生成javadoc -->





	<!--这里 的encoding 就是指的你 java 文件的编码格式 javac 和javadoc 都有这个参数charset 指的是 生成 doc 后的编码方式 javadoc 的参数-->





	<target name="javadoc" depends="compile" description="Create Javadoc API documentation">
		<mkdir dir="${dist.dir}/docs/api" />


		<javadoc sourcepath="${src.dir}" charset="utf-8"  encoding="utf-8" 


source="1.6" destdir="${dist.dir}/docs/api">
			<classpath refid="compile.classpath" />
		</javadoc>
		<echo>javadoc is complete!</echo>
	</target>

	<!-- Report Target 生成 junit 报告 -->





	<target name="report" depends="compile">
		<mkdir dir="${dist.dir}/junitReport" />
		<junit printsummary="on" fork="true" showoutput="true">
			<classpath refid="compile.classpath" />
			<formatter type="xml" />
			<batchtest todir="${dist.dir}/junitReport">
				<fileset dir="${classes.dir}">
					<include name="**/*Test.class" />
				</fileset>
			</batchtest>
		</junit>
		<echo>auto test successfully</echo>
		<junitreport todir="${dist.dir}/junitReport">
			<fileset dir="${dist.dir}/junitReport">
				<include name="TEST-*.xml" />
			</fileset>
			<report format="frames" todir="${dist.dir}/junitReport" />
		</junitreport>
		<echo>junit report with HTML Documents successfully!</echo>
	</target>
</project>
 

   将该文件放在 项目的src同级目录下,也可以放在项目根目录下,但必须改变其相应的路径如:

 

 

三.运行build.xml

      

     1.myeclipse中:



 
    2. 在windows 中的cmd 中 ,找到该文件所在的目录运行 ant 即可执行 build.xml定义的默认target;
       (在此注意项目的编码都是utf-8,否则根据这个build.xml会出现乱码不能编译或不能生产javadoc;如果是其他的编码应改变build中的编码格式)

 

    3. Linux中的shell中:找到build所在的目录运行 ant 即可执行 build.xml定义的默认target; 可以 ant  javadoc (红色为target名称)

 

 

     以上内容为俺的ant学习过程,测试通过,如有那些不足之处或缺陷或有更好的,请大家指出谢谢;

 

 

  • 大小: 12.2 KB
1
0
分享到:
评论

相关推荐

    android使用ant自动构建示例

    总结来说,Android项目利用Ant进行自动构建可以极大地简化开发流程,提高效率。通过编写和配置build.xml,开发者可以定制适合自己项目的构建过程,实现从源码到可发布的APK的全自动化。在实际操作中,可以根据项目...

    利用ant脚本 自动构建svn增量.docx

    【Ant脚本自动构建SVN增量】是一种高效且节省资源的软件开发实践,它使得开发和测试团队能够自动化处理从代码提交到构建、打包、再到部署的整个过程。使用Ant,一个基于XML的构建工具,可以创建可重复执行的脚本来...

    jenkins+ant+jmeter自动化接口测试框架搭建

    总结来说,搭建Jenkins+Ant+JMeter自动化接口测试框架涉及到软件工具的安装配置、环境变量的设置、测试脚本的编写和执行、以及自动构建和测试流程的管理。这个过程不仅需要掌握各个工具的使用方法,还需要有一定的...

    Ant.自动构建工具

    总结,Ant作为一款强大的Java构建工具,以其灵活性和可扩展性赢得了广大开发者喜爱。虽然现代有许多其他选择,如Maven和Gradle,但Ant仍然在许多项目中发挥着重要作用。了解和掌握Ant的使用,对于Java开发者来说,...

    用Ant实现Java项目的自动构建和部署

    标题“用Ant实现Java项目的自动构建和部署”指的是利用Apache Ant工具来自动化Java应用程序的编译、打包和部署过程。Apache Ant是一个基于XML的构建工具,它允许开发者定义任务序列,以便在没有人类干预的情况下执行...

    ant 构建AXIS2

    总结起来,"ant 构建AXIS2"涉及了使用Ant工具来编译、测试和打包Apache AXIS2项目的过程。这一过程的关键在于理解Ant的构建文件和AXIS2的项目结构,确保所有依赖项都已就绪,并正确配置了构建参数。通过这一流程,...

    Ant详细配置总结

    Ant是Apache旗下的一款强大的构建工具,主要用于Java项目的自动化构建过程,如编译、测试、打包、部署等操作。它的核心优势在于其高度的可定制性和灵活性,使得开发者能够通过简单的XML配置文件(通常命名为`build....

    eclipse下利用ant、junit进行自动化测试例子源码

    总结来说,"eclipse下利用ant、junit进行自动化测试例子源码"是一个学习自动化测试流程的实用案例。通过研究和实践这个例子,开发者不仅可以掌握ANT和JUnit的基本用法,还能了解如何在Eclipse中整合这两个工具,实现...

    ANT手册 如何使用ANT进行构建

    3. **运行构建**:在命令行中输入 `ant` 命令,ANT 将根据 `build.xml` 文件中的定义自动完成项目的构建过程。 #### 五、深入理解 ANT 构建脚本 - **Init 目标**:创建编译后的类文件存放目录。 - **Compile 目标*...

    Eclipse 中的 Ant 自动运行

    总结来说,`.project`和`explode.launch`文件在Eclipse的Ant自动运行中起着关键作用。`.project`文件定义了项目的构建配置,而`explode.launch`文件存储了Ant任务的运行设置。理解和熟练使用这两个文件,能够帮助...

    ant ant ant ant

    总结来说,Ant是一个强大的Java项目构建工具,它通过XML配置文件实现自动化构建,适用于各种复杂项目,并具有高度的可配置性和可扩展性。在软件开发的生命周期中,Ant起到了确保代码质量、简化部署流程和促进团队...

    Ant构建中使用JS脚本方法

    总结来说,Ant结合JavaScript脚本提供了一种强大的方式来定制和扩展构建过程,尤其适合处理项目中的特殊需求。通过熟练掌握这一技巧,开发者能够更有效地管理和自动化他们的Java项目,提高开发效率,减少手动操作...

    使用ant构建android自动化打包实例源码

    - 使用Ant构建Android应用自动化打包可以显著提高开发效率,减少手动操作的错误。 - 熟悉Ant的配置和任务定义是每个Android开发者必备的技能之一。 - 结合"Command4Ant"这样的工具,可以进一步定制化和优化自动化...

    ant 学习与总结

    随着软件项目的复杂度增加,确保每次构建都能使用相同的构建步骤,并且能够自动化执行,对于保持构建的一致性和效率至关重要。Ant 作为一种构建工具,在理论上类似于 Make 工具,但去除了 Make 的一些缺点。 #### ...

    Ant入门教程,使用Ant自动生成JAR文件

    **Ant入门教程——使用Ant自动生成JAR文件** Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它是Java开发中的一个重要工具,尤其在自动化构建、编译、测试和部署应用程序时。本教程将带你深入了解Ant...

    ant自动获取文件路径

    总结来说,Ant自动获取文件路径涉及了Ant的属性设置、文件集定义、路径操作以及文件操作任务等多个方面,这些功能使得Ant能够灵活地管理项目中的文件和目录,实现自动化构建流程。通过理解和熟练运用这些知识点,...

Global site tag (gtag.js) - Google Analytics