Java构建工具Ant之第一个build.xml

简介: Java构建工具Ant之第一个build.xml

ANT是一个构建工具,它有跨平台、操作简单、 安装简单、占用资源少等特点,它只有一个配置文件build.xml,我们要做的事情就是在build.xml中去定义我们想要做的事情,ANT它本身有 很多命令和语法,笔者刚接触时也是比较头大,后面慢慢去学习查询,基本上了解了整个build.xml包含的内容,最好的学习办法就是查看例子,通过例子 去熟悉不同标签里面的属性和参数的含义,我们不需要全部都要记住,只要在使用的时候知道如何去查询即可。

package test.ant; 
public class HelloWorld { 
    public static void main(String[] args) { 
        System.out.println("Hello World"); 
    } 
}

在上一级目录创建build.xml文件,键入以下内容:

<?xml version="1.0" encoding="UTF-8"?> 
<project name="HelloWorld" default="run" basedir="."><!-- 项目名为HelloWorld,default代表默认要做的事情,.代表当前目录--> 
    <property name="src" value="src"/><!-- 定义src变量 --> 
    <property name="dest" value="classes"/> <!-- 定义dest变量--> 
    <property name="hello_jar" value="hello.jar"/><!-- 定义hello_jar变量--> 
    <target name="init"> <!-- 定义一个目标,这里表示初始化,mkdir表示创建一个目录,${dest}表示取变量dest的值 --> 
        <mkdir dir="${dest}"/> 
    </target> 
    <!-- 编译目标,depends是它依赖的target,在init执行过才执行compile--> 
    <target name="complie" depends="init">  
        <!-- 运行javac命令 srcdir源目录 destdir目标目录--> 
        <javac srcdir="${src}" destdir="${dest}"/> 
    </target> 
    <!-- 构建目标,依赖compile--> 
    <target name="build" depends="complie"> 
        <!-- 运行jar命令 jarfile为jar文件 basedir为classes--> 
        <jar jarfile="${hello_jar}" basedir="${dest}"/> 
    </target> 
    <!--运行--> 
    <target name="run" depends="build"> 
        <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/> 
    </target> 
    <!-- 删除生成的文件--> 
    <target name="clean"> 
        <delete dir="${dest}"/> 
        <delete file="${hello_jar}"/> 
    </target> 
    <!--再次运行--> 
    <target name="rerun" depends="clean,run"> 
        <ant target="clean"/> 
        <ant target="run"/> 
    </target> 
</project>

来总结一下以上用到的元素:

project节点元素

Ant构建文件的根元素,属性:

  • name属性:用于指定project元素的名称。
  • default属性:用于指定project默认执行时执行的target的名称。
  • basedir属性:用于指定基路径的位置。


property节点元素

用于定义变量或参数的定义,属性:

  • name属性:变量名字
  • value属性:变量值

ant有一些内建的特性如:

ant.file–>构建文件如build.xml文件所在的路径

ant.home->ant的根路径

ant.java.version->java版本

ant.project.name->当前project的名字,在build.xml的开头指定

ant.version->ant版本

target节点元素


可以看做是一个任务,它有如下属性:

  • name属性:指定target元素的名称。
  • depends属性:用于描述target之间的依赖关系。
  • if属性:用于验证指定的属性是否存在,若不存在,所在target将不会被执行。
  • unless 属性:该属性的功能与 if 属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在 target 将会被执行。
  • description 属性:该属性是关于 target 功能的简短描述和说明。


mkdir命令

创建目录。

javac命令

用于编译一个或一组java文件。

jar命令

用来生成一个JAR文件。

delete命令

对文件或目录进行删除。


相关文章
|
1月前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
10 0
|
4月前
|
XML 数据采集 JavaScript
Java【XML 配置文件解析】
Java【XML 配置文件解析】
|
4月前
|
存储 Java 测试技术
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
234 0
|
7月前
|
XML JSON JavaScript
Java xml和json互相转换方法
Java xml和json互相转换方法
386 0
|
6月前
|
Java API Maven
【异常】Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlType
【异常】Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlType
54 0
|
3月前
|
XML Java Maven
nested exception is java.io.FileNotFoundException: class path resource [springmvc.xml] cannot be ope
nested exception is java.io.FileNotFoundException: class path resource [springmvc.xml] cannot be ope
55 0
nested exception is java.io.FileNotFoundException: class path resource [springmvc.xml] cannot be ope
|
17天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
26 0
|
22天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
1月前
|
XML Java 数据格式
使用java解析XML文件的步骤
使用java解析XML文件的步骤
10 0
|
5月前
|
XML Java API
Java实现XML格式化
Java实现XML格式化
118 0