最近在项目中用到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
分享到:
相关推荐
总结来说,Android项目利用Ant进行自动构建可以极大地简化开发流程,提高效率。通过编写和配置build.xml,开发者可以定制适合自己项目的构建过程,实现从源码到可发布的APK的全自动化。在实际操作中,可以根据项目...
【Ant脚本自动构建SVN增量】是一种高效且节省资源的软件开发实践,它使得开发和测试团队能够自动化处理从代码提交到构建、打包、再到部署的整个过程。使用Ant,一个基于XML的构建工具,可以创建可重复执行的脚本来...
总结来说,搭建Jenkins+Ant+JMeter自动化接口测试框架涉及到软件工具的安装配置、环境变量的设置、测试脚本的编写和执行、以及自动构建和测试流程的管理。这个过程不仅需要掌握各个工具的使用方法,还需要有一定的...
总结,Ant作为一款强大的Java构建工具,以其灵活性和可扩展性赢得了广大开发者喜爱。虽然现代有许多其他选择,如Maven和Gradle,但Ant仍然在许多项目中发挥着重要作用。了解和掌握Ant的使用,对于Java开发者来说,...
标题“用Ant实现Java项目的自动构建和部署”指的是利用Apache Ant工具来自动化Java应用程序的编译、打包和部署过程。Apache Ant是一个基于XML的构建工具,它允许开发者定义任务序列,以便在没有人类干预的情况下执行...
总结起来,"ant 构建AXIS2"涉及了使用Ant工具来编译、测试和打包Apache AXIS2项目的过程。这一过程的关键在于理解Ant的构建文件和AXIS2的项目结构,确保所有依赖项都已就绪,并正确配置了构建参数。通过这一流程,...
Ant是Apache旗下的一款强大的构建工具,主要用于Java项目的自动化构建过程,如编译、测试、打包、部署等操作。它的核心优势在于其高度的可定制性和灵活性,使得开发者能够通过简单的XML配置文件(通常命名为`build....
总结来说,"eclipse下利用ant、junit进行自动化测试例子源码"是一个学习自动化测试流程的实用案例。通过研究和实践这个例子,开发者不仅可以掌握ANT和JUnit的基本用法,还能了解如何在Eclipse中整合这两个工具,实现...
3. **运行构建**:在命令行中输入 `ant` 命令,ANT 将根据 `build.xml` 文件中的定义自动完成项目的构建过程。 #### 五、深入理解 ANT 构建脚本 - **Init 目标**:创建编译后的类文件存放目录。 - **Compile 目标*...
总结来说,`.project`和`explode.launch`文件在Eclipse的Ant自动运行中起着关键作用。`.project`文件定义了项目的构建配置,而`explode.launch`文件存储了Ant任务的运行设置。理解和熟练使用这两个文件,能够帮助...
总结来说,Ant是一个强大的Java项目构建工具,它通过XML配置文件实现自动化构建,适用于各种复杂项目,并具有高度的可配置性和可扩展性。在软件开发的生命周期中,Ant起到了确保代码质量、简化部署流程和促进团队...
总结来说,Ant结合JavaScript脚本提供了一种强大的方式来定制和扩展构建过程,尤其适合处理项目中的特殊需求。通过熟练掌握这一技巧,开发者能够更有效地管理和自动化他们的Java项目,提高开发效率,减少手动操作...
- 使用Ant构建Android应用自动化打包可以显著提高开发效率,减少手动操作的错误。 - 熟悉Ant的配置和任务定义是每个Android开发者必备的技能之一。 - 结合"Command4Ant"这样的工具,可以进一步定制化和优化自动化...
随着软件项目的复杂度增加,确保每次构建都能使用相同的构建步骤,并且能够自动化执行,对于保持构建的一致性和效率至关重要。Ant 作为一种构建工具,在理论上类似于 Make 工具,但去除了 Make 的一些缺点。 #### ...
**Ant入门教程——使用Ant自动生成JAR文件** Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它是Java开发中的一个重要工具,尤其在自动化构建、编译、测试和部署应用程序时。本教程将带你深入了解Ant...
总结来说,Ant自动获取文件路径涉及了Ant的属性设置、文件集定义、路径操作以及文件操作任务等多个方面,这些功能使得Ant能够灵活地管理项目中的文件和目录,实现自动化构建流程。通过理解和熟练运用这些知识点,...