使用Ant构建简单项目
2017-08-03 14:57
435 查看
Apache Ant主要用于Java项目的构建。为什么要使用Ant:
1)项目构建不是简单的编译,各种资源需要合理构建,例如有的类需要压缩成jar文件,有的文件需要放在指定位置,有时候需要使用配置文件。这些工作是繁杂琐碎的,手工处理难免出错。
2)诸如Myeclipse之类的IDE工具可以方便地部署web项目,但是脱离了这些集成工具,例如在需要部署项目的机器上没有这种集成工具,或者目标机器的操作系统不支持这种工具,怎么办?这时ant是很好的工具。
现在以一个简单的Java项目为例来说明ant的项目构建过程(项目名称DateDemo,其中src文件夹中包含源文件DateDemo.java):
第一步:ant的安装配置。下载地址http://archive.apache.org/dist/,下载文件名ant-current-bin.zip,解压缩后路径为D:/Program Files/apache-ant-1.7.1。配置用户变量名ANT-HOME,其value是Ant解压后的放置路径D:/Program Files/apache-ant-1.7.1;配置系统变量Path,添加Ant的bin文件夹路径D:/Program Files/apache-ant-1.7.1/bin。此外,还要检查JAVA_HOME是否准确配置为jdk的路径的。
第二步:构建build.xml,这是ant的任务描述文件。在这个脚本中描述构建任务,ant就可以根据这个文件完成构建工程的任务。
代码解释:Ant脚本使用XML描述的。project结点是根节点,name是工程名称,basedir是工程根目录,“.”代表当前目录,default代表默认任务。定义了名称为”src”的属性,在整个XML文档中,都可以通过”${src}” 来调用这个属性值。下面通过target标签定义了ant相应的任务:init—初始化,创建目录,为后面的构建工作做准备;compile—编译;buil—生成jar文件;run—执行;clean—清除构建动作生成的文件及目录。这些工作都可以根据名称调用。
第三步:把上面的build.xml脚本放在DateDemo工程根目录下,此时工程目录结构如下:
build.xml(ant脚本)
src(源代码文件夹)
第四步:工程构建。进入DOS,把当前路径切换到DateDemo工程目录下,然后运行任务指令:
ant init:执行完后,将在项目下创建一个build/classes目录和build/lib目录
ant compile:ant会把制定目录中的源文件全部编译,并且把编译得到的类文件放在build/classes下
ant build:执行完后,ant会在build/lib下生成项目对应的jar文件
ant run:运行这个项目。
结果:
通过修改ant脚本,可以实现项目的自动构建,不需要那么多步骤,如下:
在上面这个脚本中,定义了各个target之间的依赖关系(depends=”“),直接执行”ant”命令就可以执行完所有步骤。因为在没有指明执行哪个target的时候,project中default指明了默认执行的是run,然后ant检测到运行run这个target的depends=build,所以先去运行build,继续向上检测,可以检测到init任务,从而开始执行整个ant脚本。
(转载自:http://blog.csdn.net/nirvanafeng/article/details/3883810)
1)项目构建不是简单的编译,各种资源需要合理构建,例如有的类需要压缩成jar文件,有的文件需要放在指定位置,有时候需要使用配置文件。这些工作是繁杂琐碎的,手工处理难免出错。
2)诸如Myeclipse之类的IDE工具可以方便地部署web项目,但是脱离了这些集成工具,例如在需要部署项目的机器上没有这种集成工具,或者目标机器的操作系统不支持这种工具,怎么办?这时ant是很好的工具。
现在以一个简单的Java项目为例来说明ant的项目构建过程(项目名称DateDemo,其中src文件夹中包含源文件DateDemo.java):
第一步:ant的安装配置。下载地址http://archive.apache.org/dist/,下载文件名ant-current-bin.zip,解压缩后路径为D:/Program Files/apache-ant-1.7.1。配置用户变量名ANT-HOME,其value是Ant解压后的放置路径D:/Program Files/apache-ant-1.7.1;配置系统变量Path,添加Ant的bin文件夹路径D:/Program Files/apache-ant-1.7.1/bin。此外,还要检查JAVA_HOME是否准确配置为jdk的路径的。
第二步:构建build.xml,这是ant的任务描述文件。在这个脚本中描述构建任务,ant就可以根据这个文件完成构建工程的任务。
<?xml version="1.0" encoding="UTF-8"?> <project name="DateDemo" default="run" basedir="."> <property name="src" value="src"/> <property name="dest" value="build/classes"/> <property name="lib" value="build/lib"/> <property name="np_jar" value="build/lib/DateDemo.jar"/> <target name="init"> <mkdir dir="${dest}"/> <mkdir dir="${lib}"/> </target> <target name="compile"> <javac srcdir="${src}" destdir="${dest}"/> </target> <target name="build"> <jar destfile="${np_jar}" basedir="${dest}"> <manifest> <attribute name="Main-Class" value="DateDemo"/> </manifest> </jar> </target> <target name="run"> <<a href="http://lib.csdn.net/base/java" class='replace_word' title="Java 知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java </a>classname="DateDemo" classpath="${np_jar}"/> </target> <target name="clean"> <delete file="${np_jar}"/> <delete dir="${dest}"/> <delete dir="${lib}"/> </target> </project>
代码解释:Ant脚本使用XML描述的。project结点是根节点,name是工程名称,basedir是工程根目录,“.”代表当前目录,default代表默认任务。定义了名称为”src”的属性,在整个XML文档中,都可以通过”${src}” 来调用这个属性值。下面通过target标签定义了ant相应的任务:init—初始化,创建目录,为后面的构建工作做准备;compile—编译;buil—生成jar文件;run—执行;clean—清除构建动作生成的文件及目录。这些工作都可以根据名称调用。
第三步:把上面的build.xml脚本放在DateDemo工程根目录下,此时工程目录结构如下:
build.xml(ant脚本)
src(源代码文件夹)
第四步:工程构建。进入DOS,把当前路径切换到DateDemo工程目录下,然后运行任务指令:
ant init:执行完后,将在项目下创建一个build/classes目录和build/lib目录
ant compile:ant会把制定目录中的源文件全部编译,并且把编译得到的类文件放在build/classes下
ant build:执行完后,ant会在build/lib下生成项目对应的jar文件
ant run:运行这个项目。
结果:
通过修改ant脚本,可以实现项目的自动构建,不需要那么多步骤,如下:
<?xml version="1.0" encoding="UTF-8"?> <project name="DateDemo" default="run" basedir="."> <property name="src" value="src"/> <property name="dest" value="build/classes"/> <property name="lib" value="build/lib"/> <property name="np_jar" value="build/lib/DateDemo.jar"/> <target name="init"> <mkdir dir="${dest}"/> <mkdir dir="${lib}"/> </target> <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${dest}"/> </target> <target name="build" depends="compile"> <jar destfile="${np_jar}" basedir="${dest}"> <manifest> <attribute name="Main-Class" value="DateDemo"/> </manifest> </jar> </target> <target name="run" depends="build"> <<a href="http://lib.csdn.net/base/java" class='replace_word' title="Java 知识库" target='_blank' style='color:#df3434; font-weight:bold;'>java </a>classname="DateDemo" classpath="${np_jar}"/> </target> <target name="clean"> <delete file="${np_jar}"/> <delete dir="${dest}"/> <delete dir="${lib}"/> </target> </project>
在上面这个脚本中,定义了各个target之间的依赖关系(depends=”“),直接执行”ant”命令就可以执行完所有步骤。因为在没有指明执行哪个target的时候,project中default指明了默认执行的是run,然后ant检测到运行run这个target的depends=build,所以先去运行build,继续向上检测,可以检测到init任务,从而开始执行整个ant脚本。
(转载自:http://blog.csdn.net/nirvanafeng/article/details/3883810)
相关文章推荐
- Ant—使用Ant构建简单Java项目(三)
- Ant—使用Ant构建简单Java项目(二)
- 使用Ant构建简单项目
- Ant—使用Ant构建简单Java项目(三)
- Ant—使用Ant构建简单Java项目(一)
- 使用Ant构建简单项目
- 使用Ant构建简单项目
- 使用ANT构建项目实例2步骤4:lib.properties
- 使用Ant编译和构建项目指南
- 使用ant实现svn管理得eclipse插件开发项目的日构建功能(ant1.7.1+svn1.6.3+eclipse3.4.2)
- 使用ANT构建项目实例2步骤3:properties.xml
- 使用Ant编译和构建项目指南
- 使用ant工具——构建一个简单的Hibernate应用程序
- 使用Maven构建Spring MVC项目的简单示例
- 使用Ant进行项目构建之一:环境搭建 (转载)
- 使用spring 4.0 + maven 构建超简单的web项目
- 【ant项目构建学习点滴】--(1)简单编译
- 使用svnant结合svn进行项目构建
- 使用Ant构建项目调试代码时无法设置断点
- 使用ant及IDE配置文件进行Android项目初步的标准化,规范化构建