使用Ant构建简单项目

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就可以根据这个文件完成构建工程的任务。

<?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">
        <java 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代表默认任务。<property name="src" value="src"/>定义了名称为"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">
        <java 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脚本。

时间: 2024-10-05 23:25:40

使用Ant构建简单项目的相关文章

Ant——使用Ant构建简单Java项目(二)

博客<Ant--使用Ant构建简单Java项目(一)>演示了使用Ant工具构建简单的Java项目,接着这个例子来进一步学习Ant: 上面例子执行build.xml文件脚本比较繁杂,能不能简化执行的脚本呢?答案是肯定的,可以将build.xml文件中的脚本改成下面的脚本: <?xml version="1.0" encoding="UTF-8"?> <project name="test" default="

Ant——使用Ant构建简单Java项目(三)

博客<Ant--使用Ant构建简单Java项目(二)>我们简化了执行Test类中main方法需要执行的命令,本博客来介绍一下如何使build.xml文件和其中使用property标签定义的属性分离: 1.在test文件夹中新建名为build.properties的文件,文件中以"key=value"的形式输入原来在build.xml文件中定义的属性及其属性值如下: src=src lib=build/lib dest=build/classes np_jar=build/l

Ant—使用Ant构建简单Java项目(三)

博客<Ant-使用Ant构建简单Java项目(二)>我们简化了运行Test类中main方法须要运行的命令,本博客来介绍一下如何使build.xml文件和当中使用property标签定义的属性分离: 1.在test目录中新建名为build.properties的文件,文件里以"key=value"的形式输入原来在build.xml文件里定义的属性及其属性值例如以下: src=src lib=build/lib dest=build/classes np_jar=build/l

Ant构建Java项目

Ant构建Java项目 我们创建HelloWorld项目,将源文件.java发到src中,编译后字节码.class放到bin中,对应的jar包放到exe目录中. 首先使用命令行来构建项目: 1.创建src目录 md src 2.在src目录中存放源文件HelloWorld.java,类HelloWorld的包名为com.tghz.test 那么创建包名路径,cd src,md com,cd com,md tghz,cd tghz,md test,然后存放HelloWorld.java到当前目录中

ant构建java项目---Class Not Found:javac1.8

最近在使用ant构建java项目时出现了Class Not Found:javac1.8的错误.在网上查了查,发现是JDK版本和ant版本的兼容性的问题,那么好吧 1.我们去Apache官网重新下载1.9.6版本的ant--下载地址:http://ant.apache.org/bindownload.cgi 2.下载好了,配置ant的环境变量,Path里指定ant的bin目录,命令行里查看ant的环境变量是否配置成功:ant -verison 3.命令行里进入Java项目的根目录(build.x

Ant——使用Ant构建简单Java项目

Apache Ant主要用于Java项目的构建.为什么要使用Apache Ant来构建项目呢: 1)项目构建不是简单的编译,各种资源需要合理构建,例如有的类需要压缩成jar文件,有的文件需要放在指定位置,有时候需要使用配置文件.这些工作是繁杂琐碎的,手工处理难免出错. 2)诸如Myeclipse之类的IDE工具可以方便地部署web项目,但是脱离了这些集成工具,例如在需要部署项目的机器上没有这种集成工具或者目标机器的操作系统不支持这种工具,怎么办?这时Apache Ant是很好的工具. 现在以一个

springboot学习之构建简单项目搭建

概述 相信对于Java开发者而言,spring和springMvc两个框架一定不陌生,这两个框架需要我们手动配置的地方非常多,各种的xml文件,properties文件,构建一个项目还是挺复杂的,在这种情况下,springboot应运而生,他能够快速的构建spring项目,而且让项目正常运行起来的配置文件非常少,甚至只需要几个注解就可以运行整个项目. 总的说来,springboot项目可以打成jar包独立运行部署,因为它内嵌servlet容器,之前spring,springMvc需要的大量依赖,

ant构建web项目build脚本

build.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <project name="edu_2.0" basedir="." default="war"> <!--引入配置信息--> <property file="build.properties"

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

Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.             安装与配置 下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本.解压到某个目录(例如E:\apache-ant-1.7.0),即可使用. 添加系统环境变量:ANT_HOME,该变量指向Ant解压后的根目录,在此为E:\apache-ant-1.7.0. 安装与