- Apache ANT 教程
- ANT-首页
- ANT - 简介
- ANT - 环境设置
- ANT - 构建文件
- ANT - 属性任务
- ANT - 属性文件
- ANT - 数据类型
- ANT - 建筑项目
- ANT - 构建文档
- ANT - 创建 JAR 文件
- ANT - 创建 WAR 文件
- ANT - 包装应用
- ANT - 部署应用程序
- ANT - 执行 Java 代码
- ANT - Eclipse 集成
- ANT - JUnit 集成
- ANT - 扩展 Ant
- Apache ANT 有用的示例
- ANT - 使用令牌
- ANT - 使用命令行参数
- ANT - 使用 If Else 参数
- ANT - 自定义组件
- ANT - 监听器和记录器
- Apache ANT 资源
- ANT - 快速指南
- ANT - 有用的资源
- ANT-讨论
Ant - 建设项目
现在我们已经了解了 Ant 中的数据类型,是时候将这些知识付诸实践了。我们将在本章中构建一个项目。本章的目的是构建一个 Ant 文件来编译 java 类并将它们放置在 WEB-INF\classes 文件夹中。
考虑以下项目结构 -
数据库脚本存储在db文件夹中。
java源代码存放在src文件夹中。
图片、js、META-INF、样式(css)存储在war文件夹中。
Java 服务器页面 (JSP) 存储在jsp文件夹中。
第三方jar文件存储在lib文件夹中。
java 类文件存储在WEB-INF\classes文件夹中。
该项目构成了本教程其余部分的Hello World传真应用程序。
C:\work\FaxWebApplication>tree Folder PATH listing Volume serial number is 00740061 EC1C:ADB1 C:. +---db +---src . +---faxapp . +---dao . +---entity . +---util . +---web +---war +---images +---js +---META-INF +---styles +---WEB-INF +---classes +---jsp +---lib
这是该项目所需的build.xml 。让我们一点一点地考虑。
<?xml version="1.0"?> <project name="fax" basedir="." default="build"> <property name="src.dir" value="src"/> <property name="web.dir" value="war"/> <property name="build.dir" value="${web.dir}/WEB-INF/classes"/> <property name="name" value="fax"/> <path id="master-classpath"> <fileset dir="${web.dir}/WEB-INF/lib"> <include name="*.jar"/> </fileset> <pathelement path="${build.dir}"/> </path> <target name="build" description="Compile source tree java files"> <mkdir dir="${build.dir}"/> <javac destdir="${build.dir}" source="1.5" target="1.5"> <src path="${src.dir}"/> <classpath refid="master-classpath"/> </javac> </target> <target name="clean" description="Clean output directories"> <delete> <fileset dir="${build.dir}"> <include name="**/*.class"/> </fileset> </delete> </target> </project>
首先,让我们声明源文件夹、Web 文件夹和构建文件夹的一些属性。
<property name="src.dir" value="src"/> <property name="web.dir" value="war"/> <property name="build.dir" value="${web.dir}/WEB-INF/classes"/>
在上面提到的例子中 -
src.dir 指的是项目的源文件夹,可以在其中找到java源文件。
web.dir 指的是项目的Web源文件夹,您可以在其中找到JSP、web.xml、css、javascript和其他Web相关文件
build.dir指的是项目编译的输出文件夹。
属性可以引用其他属性。如上面的示例所示,build.dir属性引用了web.dir属性。
在此示例中,src.dir指的是项目的源文件夹。
我们项目的默认目标是编译目标。但首先,让我们看看干净的目标。
顾名思义,clean 目标会删除构建文件夹中的文件。
<target name="clean" description="Clean output directories"> <delete> <fileset dir="${build.dir}"> <include name="**/*.class"/> </fileset> </delete> </target>
主类路径保存类路径信息。在本例中,它包括 build 文件夹中的类和 lib 文件夹中的 jar 文件。
<path id="master-classpath"> <fileset dir="${web.dir}/WEB-INF/lib"> <include name="*.jar"/> </fileset> <pathelement path="${build.dir}"/> </path>
最后,构建目标是构建文件。
首先,我们创建build目录,如果不存在,那么,我们执行javac命令(指定jdk1.5作为我们的目标编译)。我们向 javac 任务提供源文件夹和类路径,并要求它将类文件放入构建文件夹中。
<target name="build" description="Compile main source tree java files"> <mkdir dir="${build.dir}"/> <javac destdir="${build.dir}" source="1.5" target="1.5" debug="true" deprecation="false" optimize="false" failonerror="true"> <src path="${src.dir}"/> <classpath refid="master-classpath"/> </javac> </target>
对此文件执行 Ant 会编译 java 源文件并将类放置在 build 文件夹中。
以下结果是运行 Ant 文件的结果 -
C:\>ant Buildfile: C:\build.xml BUILD SUCCESSFUL Total time: 6.3 seconds
文件被编译并放置在build.dir文件夹中。