侧边栏壁纸
  • 累计撰写 781 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

Ant

Dettan
2021-04-10 / 0 评论 / 0 点赞 / 111 阅读 / 1,833 字
温馨提示:
本文最后更新于 2022-04-30,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
/ 后端 / Tool / Ant
Ant是什么?_JavaClub-CSDN博客_2020年了还有用ant的吗 java
Ant是Java的生成工具,是Apache的核心项目; Ant类似于Unix中的Make工具,都是用来编译、生成; Ant是跨平台的,而Make不能; Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生成你的项目。 下载地址: http://ant.apache.org/bindownload.cgi 在Ant安装之前需要安装好JDK,并配置好JAVA_HOME; 新建环境变量ANT_HOME:值为ANT的主目录; 在path中配置%ANT_HOME%/bin; 配置完成之后,打开命令行,输入ant,当出现"Buildfile: build.xml does not exist! Build failed"时说明配置完成; ant的默认生成文件为build.xml; 输入ant后,ant会在当前目录下搜索是否有build.xml,如果有,则执行;当然也可以自定义生成文件,通过ant -f a.xml即可指定a.xml为生成文件; ant的生成文件是xml文件,整体结构为: project是生成文件的根元素,表示一个工程; target是project的子元素,表示一个任务;一个project中可以定义多个target元素,表示多个任务; default属性表示默认执行的target,如果ant命令没有指定target,则执行default的target; ant targetname; 则会执行此target,而忽略default设置的target;targetname不能重复。 Ant生成文件的根元素,一般形式如: default的值是默认执行的target名; basedir是指定基准目录,一般都是basedir="."; name是指工程名字。 是project元素的子元素,在project元素中能够有多个target;一般形式如下: name表示target的名称; depends中填写其他target名称(可以有多个名称,用逗号分割),表示只有targetA完成之后才能够做此target,如果执行此target,则会先执行A; if的值表示一个属性名,只有设置了该属性名,才能执行此target; unless的值表示一个属性名,只有没有设置该属性名,才能执行此target。 project的子元素,用于定义属性,一般形如: 如果要使用此property,则需要${pname},类似于表达式语言; 通过此属性文件导入属性; 如果单纯想使用$,则通过$$ 表示。 在Ant中Task是target的子元素,即一个target中可以有多个task;而Task分为: (1)核心Task; (2)可选Task; (3)自定义Task; 下面介绍一些常用的核心Task。 用于单纯输出,如: 用于编译java文件,一般形式如下: srcdir是编译此文件夹下或子文件夹下的全部java文件; destdir是编译后的class文件放置路径; classpath指定第三方类库; 运行java类,一般形式如下: classname用于指定运行的类名称; fork="yes"表示另起一个JVM来执行java命令,而不是中断ANT命令,因此fork必须为yes; 打包成jar包;一般形式如下: destfiie的值为jar包的名称,一般为${dest}/main.jar; basedir的值是需要打成jar包的目录,一般为${classes}; manifest表示设置META-INF; 创建目录,可以多层创建,比如a\b\c,则可以连续创建,一般形式如下: 时间戳,一般形式如下: 接下来可以使用${DSTAMP}进行调用当前时间; 复制文件,一般形式如下: file是源文件; tofile是目标文件; 移动文件,一般形式如下: file是源文件; tofile是目标文件; 用于替换字符串,类似于String的replace操作,一般形式如下: file表示要执行替换的文件; token表示被替换的字符串; value表示替换的字符串。 在Eclipse中虽然没有内置创建Ant的生成文件,但是可以通过配置完成: 1.
https://blog.csdn.net/qq997404392/article/details/76986978
打包工具

0

评论区