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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 【Apache Ant】ANT解析以及ANT在myEclipse中的使用

维基百科上对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)

标签

效果图:

image.png

<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中的运行:

image.png

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

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

image.png

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

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

目录
打赏
0
0
0
0
988
分享
相关文章
Apache Doris & SelectDB 技术能力全面解析
本文将对 Doris & SelectDB 适合的分析场景和技术能力进行概述解析
Apache Doris & SelectDB 技术能力全面解析
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
219 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的重要桥梁,扮演着至关重要的角色
198 2
Apache Kafka核心概念解析:生产者、消费者与Broker
【10月更文挑战第24天】在数字化转型的大潮中,数据的实时处理能力成为了企业竞争力的重要组成部分。Apache Kafka 作为一款高性能的消息队列系统,在这一领域占据了重要地位。通过使用 Kafka,企业可以构建出高效的数据管道,实现数据的快速传输和处理。今天,我将从个人的角度出发,深入解析 Kafka 的三大核心组件——生产者、消费者与 Broker,希望能够帮助大家建立起对 Kafka 内部机制的基本理解。
158 2
Apache Spark Streaming技术深度解析
【9月更文挑战第4天】Apache Spark Streaming是Apache Spark生态系统中用于处理实时数据流的一个重要组件。它将输入数据分成小批次(micro-batch),然后利用Spark的批处理引擎进行处理,从而结合了批处理和流处理的优点。这种处理方式使得Spark Streaming既能够保持高吞吐量,又能够处理实时数据流。
116 0
文件解析的终极工具:Apache Tika
文件解析的终极工具:Apache Tika
879 0
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
494 33
The Past, Present and Future of Apache Flink
Apache Flink 2.0.0: 实时数据处理的新纪元
Apache Flink 2.0.0 正式发布!这是自 Flink 1.0 发布九年以来的首次重大更新,凝聚了社区两年的努力。此版本引入分离式状态管理、物化表、流批统一等创新功能,优化云原生环境下的资源利用与性能表现,并强化了对人工智能工作流的支持。同时,Flink 2.0 对 API 和配置进行了全面清理,移除了过时组件,为未来的发展奠定了坚实基础。感谢 165 位贡献者的辛勤付出,共同推动实时计算进入新纪元!
263 1
Apache Flink 2.0.0: 实时数据处理的新纪元
|
6月前
|
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
1241 13
Apache Flink 2.0-preview released
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等