【Apache Ant】ANT解析以及ANT在myEclipse中的使用

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】维基百科上对Ant的介绍:Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

转载请注明出处:http://blog.csdn.net/qq_26525215

本文源自大学之旅_谙忆的博客

维基百科上对Ant的介绍:

Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

由Apache软件基金会所提供。默认情况下,它的buildfile(XML文件)名为build.xml。每一个buildfile含有一个<project>和至少一个预设的<target>,这些targets包含许多task elements。每一个task element有一个用来被参考的id,此id必须是唯一的。

<project>标签

default表示默认的执行目标,必须有的。
basedir-是工作的根目录 .号代表项目根目录,必须有的。
name表示项目名称。

<property>标签

<property name="src" value="cn.hncu"/>

变量名为src,值为cn.hncu.
在其他标签中用${src}-引用src的值,cn.hncu.

<target>标签

一个项目<project>标签下可以有一个或多个target标签,
一个target标签可以依赖其他target标签,(被依赖的标签先执行)
target所有属性如下所示:

name表示这个标签的名字,这个属性是必须的。
depends表示依赖的目标target标签的name。

Ant的depends属性指定了target的执行顺序,Ant会依照depends属性中target标签出现顺序依次执行每个target,在执行之前首先执行它所依赖的target标签

if表示仅当属性设置时才执行。
unless表示当属性没有设置时才执行。
description表示项目的描述(或者是对这个标签的作用进行表述)。

<mkdir>标签

该标签用于创建目录,它有一个属性dir用户指定所创建的目录.

<target name="md">
    <mkdir dir="d:/a/a1"/>
</target>

表示在D盘下创建a文件夹,a文件夹下创建a1文件夹。

<delete>标签

该标签用于删除目录,它有一个属性dir用户指定删除的目录.

<target name="del">
      <delete dir="d:/a/a1"></delete>
</target>

表示删除d盘的a目录下的a1文件夹以及a1文件夹下的所有文件。

<jar>标签

该标签用来生成一个JAR包

<target name="jar">
    <jar basedir="." destfile="d:/a/mail.jar">
    </jar>
</target>

basedir表示被归档成jar的文件目录。
destfile表示压缩成jar输出到那个目录,名字为啥。
includes表示被归档的文件模式。
exchudes表示被排除的文件模式。
manifest属性指定自己的META-INF/MANIFEST.MF文件,而不是由系统生成

<echo>标签

该标签用来在控制台输出信息,其输入如下:
message表示输入的内容。

<target name="hello2" depends="hello1" description="输出">
    <echo message="Hello222"></echo>
</target>

<target name="hello1" >
    <echo message="Hello111"></echo>
</target>

先输出Hello111再输出Hello222,因为hello2依赖hello1(depends)

标签

效果图:

<target name="jdoc">
       <javadoc sourcepath="src"
        destdir="d:/a/a"
        packagenames="cn.hncu.*"
        encoding="utf-8"
        docencoding="gbk">
       </javadoc>
    </target>

sourcepath-指定查找输入源文件的位置-src表示src下的所有源文件(.java)输入
destdir-输出的文件位置
packagenames-包名
encoding-源java文件的编码
docencoding-输出文件的编码

简单的例子:

<?xml version="1.0" encoding="utf-8"?>
<project basedir="." name="myMailWeb" default="hello2" >
    <property name="src" value="src"/>

    <target name="hello2" depends="hello1" description="输出">
       <echo message="Hello222"></echo>
    </target>

    <target name="hello1" >
        <echo message="Hello111"></echo>
    </target>

    <target name="jar">
        <jar jarfile="mal.jar" basedir="." destfile="d:/a/mail.jar">
        </jar>
    </target>

    <target name="jdoc">
       <javadoc sourcepath="src"
        destdir="d:/a/a"
        packagenames="cn.hncu.*"
        encoding="utf-8"
        docencoding="gbk">
       </javadoc>
    </target>

    <target name="md">
      <mkdir dir="d:/a/a1"/>
    </target>

    <target name="del">
      <delete dir="d:/a/a1" ></delete>
    </target>

</project>

在myEclipse中的运行:

选第一个是上次运行的targets标签,如果上次没运行,就是默认的。

选第二个Ant Build….就是让我们自己选运行哪个或者哪几个。

description就是运行时有提示的那个。

ant的知识点太多了,其实只是一个辅助我们的工具,个人觉得完全没必要去很熟练的使用所有的,但是打jar包,输出Javadoc等常用的,还是必须熟练。

转载请注明出处:http://blog.csdn.net/qq_26525215

本文源自大学之旅_谙忆的博客

目录
相关文章
|
2月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
90 3
|
3月前
|
安全 网络协议 应用服务中间件
AJP Connector:深入解析及在Apache HTTP Server中的应用
【9月更文挑战第6天】在Java Web应用开发中,Tomcat作为广泛使用的Servlet容器,经常与Apache HTTP Server结合使用,以提供高效、稳定的Web服务。而AJP Connector(Apache JServ Protocol Connector)作为连接Tomcat和Apache HTTP Server的重要桥梁,扮演着至关重要的角色
100 2
|
1月前
|
消息中间件 存储 负载均衡
Apache Kafka核心概念解析:生产者、消费者与Broker
【10月更文挑战第24天】在数字化转型的大潮中,数据的实时处理能力成为了企业竞争力的重要组成部分。Apache Kafka 作为一款高性能的消息队列系统,在这一领域占据了重要地位。通过使用 Kafka,企业可以构建出高效的数据管道,实现数据的快速传输和处理。今天,我将从个人的角度出发,深入解析 Kafka 的三大核心组件——生产者、消费者与 Broker,希望能够帮助大家建立起对 Kafka 内部机制的基本理解。
80 2
|
3月前
|
分布式计算 Java Apache
Apache Spark Streaming技术深度解析
【9月更文挑战第4天】Apache Spark Streaming是Apache Spark生态系统中用于处理实时数据流的一个重要组件。它将输入数据分成小批次(micro-batch),然后利用Spark的批处理引擎进行处理,从而结合了批处理和流处理的优点。这种处理方式使得Spark Streaming既能够保持高吞吐量,又能够处理实时数据流。
78 0
|
4月前
|
安全 搜索推荐 数据挖掘
文件解析的终极工具:Apache Tika
文件解析的终极工具:Apache Tika
285 0
|
4月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
50 1
|
12天前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
295 33
The Past, Present and Future of Apache Flink
|
2月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
848 13
Apache Flink 2.0-preview released
|
3月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
|
4月前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
292 2

推荐镜像

更多