Apache Ant 是一个完全免费的跨平台和开放源代码的Java命令行软件,与Apache项目一起分发,并从最初设计为强大的构建用于编译以Java编程语言编写的应用程序的系统。
类似于GNU make
Apache Ant软件是一个命令行程序,与开源的GNU make编译器非常相似,但是已知可以更好地支持开发Java应用程序的各种跨平台问题。 p>
许多Java项目的完美构建系统
作为一个Apache项目,Apache Ant软件是Apache的许多Java项目的完美构建系统,以及使用Java编程语言编写的许多其他独立的开源项目。
Apache Ant入门
无论您是否需要Apache Ant来编译Java编写的应用程序的源代码,或者您都是有抱负的Java开发人员,您可以轻松地在所选操作系统上使用Apache Ant(请参阅支持的操作系统)。
为方便起见,该软件以预制的二进制格式分发,可用于任何GNU / Linux操作系统,支持32位和64位版本。当然,要优化安装的高级用户也可以从Softoware获取源包。
只需运行“蚂蚁”命令在终端仿真器中查看使用信息和可用的命令行选项。请注意,在某些发行版中,Ant需要OpenJDK软件。
运行在GNU / Linux,Microsoft Windows和Mac OS X上
Apache Ant是一种跨平台软件,可在任何支持JRE(Java Runtime Environment)技术的计算机操作系统上运行,包括所有GNU / Linux发行版,以及Mac OS X和Microsoft Windows操作系统。
此版本中的新功能:
- 可能会破坏旧版环境的更改:
- 当设置为false(默认值)时,prefixValues属性未按预期工作。现在的构建文件很可能依赖于错误的行为,并希望Ant根据属性文件本身定义的属性来解析值方面 - 这些构建文件现在必须将prefixValues属性设置为true。 Bugzilla报告54769
- 将从条目名称中删除。大多数档案馆无论如何也不包含带斜杠的路径。这可能会导致以/停止匹配任何内容的包含/排除模式。这种模式仅用于意外工作,只能在具有多个文件系统根的平台上使用。 Bugzilla报告53949
- DirectoryScanner,因此fileset / dirset现在将静默地删除所有不是文件的文件系统对象,也可以根据java.io.File删除目录。这样可以防止Ant读取可能导致阻塞或其他未定义行为的命名管道。 Bugzilla报告56149 BuildLeft和BaseSelectorTest都被分别用于BuildFileRule和BaseSelectorRule,并且先前扩展了这些基本测试的测试已经使用新的“规则”转换为JUnit 4测试。任何在Ant工作空间中分类测试而不是BuildFileTest的外部测试将需要更改为使用JUnit4的注释,或者进行修改以直接扩展BuildFileTest。这不会影响Ant的junit执行的任何测试,也不会影响任何没有专门测试Ant代码的批量测试任务。
- 修正错误:
- /失败,并通过绝对路径从本地文件系统导入文件。 Bugzilla报告50953
- 可以导入相同的资源两次。 Bugzilla报告55097
- 几个对File#mkdirs的调用可能成为竞争条件的受害者,其中一个线程已经创建了相同的目录。 Bugzilla报告55290
- 创建'/'而不是'./'。 Bugzilla报告55049
- 'fixlastline =“true”使用某些过滤器时不起作用。 Bugzilla报告54672
- 几个地方从jar读取资源,现在将明确禁用缓存,以避免重新加载jar的问题。 Bugzilla报告54473
- AntClassloader现在将忽略扫描资源时属于类路径但不是zip文件的文件。它曾经抛出一个异常。 Bugzilla报告53964
- 引起NullPointerException。 Bugzilla报告55949
- 仍然会包含文件集清单的Main部分。 Bugzilla报告54171
- 编译器参考的阅读已经变得更加防守了Bugzilla Report 53754
- without force =“true”不仅不能按预期的方式覆盖只读文件,还可以删除现有的文件。 Bugzilla报告53095
- 将删除不包含文件的符号链接。它仍将删除符号链接到将被遵循的目录,即使它们没有被明确地包括在内。 exclude-Patterns仍然可以用于保存符号链接。 Bugzilla报告53959
- 有时使用NIO FileChannels的复制操作失败。当基于频道的副本失败时,Ant现在将尝试使用基于Stream的复制操作作为备用。 Bugzilla报告53102和54397
- TarInputStream现在将读取通过不添加尾随NUL编码大数字的tar实现创建的归档。
- URLResource的isExists()方法为HTTP和FTP URL返回false肯定。
- 其他更改:
- 对Java 1.9的初始支持
- 可以选择将System.in传递到远程进程Bugzilla Report 55393
- 现在支持捕获已执行进程的错误输出并从返回码设置属性。 Bugzilla报告48478
- 现在有一个选项可以失败。 Bugzilla报告55015
- 具有新的输出编码属性。 Bugzilla报告39541
- 更改为JUnitTestRunner和PlainJUnitResultFormatter以使OutOfMemoryErrors不太可能。 Bugzilla报告45536
- 更改为DOMElementWriter以使OutOfMemoryErrors不太可能。 Bugzilla报告54147
- 有一个新的属性binaryOutput,可以防止Ant将输出分割成行。这样可以防止二进制输出被损坏,但可能会导致错误和正常输出混合。 Bugzilla报告55667 Bugzilla报告56156
- 任务现在明确接受并支持gzip内容编码。 Bugzilla报告49453
- 新的资源收集类型类似于共享相同配置但具有不同基本目录的s和s的并集。 Bugzilla报告48621
- 具有一个安静的属性,仅在启用任务日志错误时才会出现错误。 GitHub Pull Request#1
- 现在有一个线程属性允许在多个线程中运行测试。 Bugzilla报告55925
- 添加一个新的ProcessUtil类,提供当前进程的进程标识
- 更改为允许并行运行Ant的JUnit测试用例,方法是使它们使用唯一的临时目录
当将zip / tarfileset的条目与引用斜杠的模式进行匹配时,
当导入文件从URI或jar加载时,
通过不同的资源类型导入时,
对于给定的jarfile的父目录,
当没有设置destdir时,
如果没有嵌套清单或清单属性,
对于扩展Javadoc Bugzilla Report 56047的类,Javadoc.postProcessGeneratedJavadocs()失败
如果javadoc发出警告,那么
现在的嵌套元素具有可选的inputEncoding属性,可以用于指定不使用平台默认编码的文件的编码。 Bugzilla报告56258
1.9.4版中的新功能:
- 可能会破坏旧版环境的更改:
- 当设置为false(默认值)时,prefixValues属性未按预期工作。现在的构建文件很可能依赖于错误的行为,并希望Ant根据属性文件本身定义的属性来解析值方面 - 这些构建文件现在必须将prefixValues属性设置为true。 Bugzilla报告54769
- 将从条目名称中删除。大多数档案馆无论如何也不包含带斜杠的路径。这可能会导致以/停止匹配任何内容的包含/排除模式。这种模式仅用于意外工作,只能在具有多个文件系统根的平台上使用。 Bugzilla报告53949
- DirectoryScanner,因此fileset / dirset现在将静默地删除所有不是文件的文件系统对象,也可以根据java.io.File删除目录。这样可以防止Ant读取可能导致阻塞或其他未定义行为的命名管道。 Bugzilla报告56149 BuildLeft和BaseSelectorTest都被分别用于BuildFileRule和BaseSelectorRule,并且先前扩展了这些基本测试的测试已经使用新的“规则”转换为JUnit 4测试。任何在Ant工作空间中分类测试而不是BuildFileTest的外部测试将需要更改为使用JUnit4的注释,或者进行修改以直接扩展BuildFileTest。这不会影响Ant的junit执行的任何测试,也不会影响任何没有专门测试Ant代码的批量测试任务。
- 修正错误:
- /失败,并通过绝对路径从本地文件系统导入文件。 Bugzilla报告50953
- 可以导入相同的资源两次。 Bugzilla报告55097
- 几个对File#mkdirs的调用可能成为竞争条件的受害者,其中一个线程已经创建了相同的目录。 Bugzilla报告55290
- 创建'/'而不是'./'。 Bugzilla报告55049
- 'fixlastline =“true”使用某些过滤器时不起作用。 Bugzilla报告54672
- 几个地方从jar读取资源,现在将明确禁用缓存,以避免重新加载jar的问题。 Bugzilla报告54473
- AntClassloader现在将忽略扫描资源时属于类路径但不是zip文件的文件。它曾经抛出一个异常。 Bugzilla报告53964
- 引起NullPointerException。 Bugzilla报告55949
- 仍然会包含文件集清单的Main部分。 Bugzilla报告54171
- 编译器参考的阅读已经变得更加防守了Bugzilla Report 53754
- without force =“true”不仅不能按预期的方式覆盖只读文件,还可以删除现有的文件。 Bugzilla报告53095
- 将删除不包含文件的符号链接。它仍将删除符号链接到将被遵循的目录,即使它们没有被明确地包括在内。 exclude-Patterns仍然可以用于保存符号链接。 Bugzilla报告53959
- 有时使用NIO FileChannels的复制操作失败。当基于频道的副本失败时,Ant现在将尝试使用基于Stream的复制操作作为备用。 Bugzilla报告53102和54397
- TarInputStream现在将读取通过不添加尾随NUL编码大数字的tar实现创建的归档。
- URLResource的isExists()方法为HTTP和FTP URL返回false肯定。
- 其他更改:
- 对Java 1.9的初始支持
- 可以选择将System.in传递到远程进程Bugzilla Report 55393
- 现在支持捕获已执行进程的错误输出并从返回码设置属性。 Bugzilla报告48478
- 现在有一个选项可以失败。 Bugzilla报告55015
- 具有新的输出编码属性。 Bugzilla报告39541
- 更改为JUnitTestRunner和PlainJUnitResultFormatter以使OutOfMemoryErrors不太可能。 Bugzilla报告45536
- 更改为DOMElementWriter以使OutOfMemoryErrors不太可能。 Bugzilla报告54147
- 有一个新的属性binaryOutput,可以防止Ant将输出分割成行。这样可以防止二进制输出被损坏,但可能会导致错误和正常输出混合。 Bugzilla报告55667 Bugzilla报告56156
- 任务现在明确接受并支持gzip内容编码。 Bugzilla报告49453
- 新的资源收集类型类似于共享相同配置但具有不同基本目录的s和s的并集。 Bugzilla报告48621
- 具有一个安静的属性,仅在启用任务日志错误时才会出现错误。 GitHub Pull Request#1
- 现在有一个线程属性允许在多个线程中运行测试。 Bugzilla报告55925
- 添加一个新的ProcessUtil类,提供当前进程的进程标识
- 更改为允许并行运行Ant的JUnit测试用例,方法是使它们使用唯一的临时目录
当将zip / tarfileset的条目与引用斜杠的模式进行匹配时,
当导入文件从URI或jar加载时,
通过不同的资源类型导入时,
对于给定的jarfile的父目录,
当没有设置destdir时,
如果没有嵌套清单或清单属性,
对于扩展Javadoc Bugzilla Report 56047的类,Javadoc.postProcessGeneratedJavadocs()失败
如果javadoc发出警告,那么
现在的嵌套元素具有可选的inputEncoding属性,可以用于指定不使用平台默认编码的文件的编码。 Bugzilla报告56258
1.9.3版中的新功能:
- 修正错误:
- 吞下了嵌套任务的状态码。
- 竞争条件可能使并行构建任务相互干扰。
- 的邮箱仍然无法正常工作。
- 使用属于if的属性,除非命名空间macrodef失败。
- Ant 1.8 exec任务更改已使执行速度降低到爬网
- Apt在JDK 1.8 下不可用
- 其他更改:
- 文件修复if / unless属性。 PR 55359。
- 具有长链接名称的tar条目现在以与具有长名称的条目相同的方式处理。
- 添加“skipNonTests”属性和允许任务跳过不包含测试的类的任务。
- 现在支持嵌套以指定过滤器。
- 的参数现在可以输入。
- 构建Mac OS X pkg安装程序
使用smtps时,
1.9.1版中的新功能:
- 如果除非XML命名空间可用于所有任务和嵌套元素 ,则新增
- 默认情况下禁用Zip64扩展名
- 加载固定在JUnit任务中的外部依赖关系
- JUnitreport默认样式表现在与JDK 1.7 兼容
- 推荐使用Java 1.7升级到ssh / scp任务的用户的jsch 0.1.50
- WHATSNEW 中记录的其他修复和改进
版本1.8.4中的新功能:
- 这是一个安全漏洞修复版本,在bzip2任务中拒绝服务攻击向量。
1.8.2版中的新功能:
- 目录扫描中的性能改进。
- XSLT任务再次引导类路径(bugrep 49271)。
- 废除核心任务和可选任务之间的区别。
- Bugzilla和WHATSNEW中记录的许多错误修复和改进。
1.7.1中的新功能:
- 主要发布的重点是修复错误和改进性能
- Java 6的支持已得到增强,脚本任务支持JavaFX。
<强>要求强>:
- Oracle Java Standard Edition运行时环境
评论没有发现