Ant和可用的任务 – 如果没有可用的东西怎么办?
当我使用该任务时,如果资源(例如文件)可用,则该属性仅设置为TRUE。 如果没有,则该属性未定义。
当我打印属性的值时,如果资源可用,则为true,否则只打印属性名称。
如果资源不可用,有没有办法将属性设置为某个值? 我已经尝试在可用的检查之前显式设置属性,但是然后ant抱怨:
[available] DEPRECATED - 用于覆盖现有属性。 [可用]构建文件不应为不同的值重用相同的属性名称。
foosThere的分配只有在您的可用性检查尚未设置为true时才会成功。
此行为的原因是目标中的if / unless属性。 如果/除非设置了具有该名称的属性,则将执行具有此属性的目标。 如果设置为false或设置为true则没有区别。 因此,您可以使用可用任务来设置(或不设置)属性,并基于此执行(或不执行)任务。 在可用任务之前设置属性是没有解决方案,因为ant中的属性是不可变的,一旦设置它们就不能更改。
有三种可能的解决方案,如果未设置之前将属性设置为值:
- 您将available-task与not结合使用。
- 您创建了一个设置属性的任务,该属性仅在未设置属性时执行(除非任务的属性)。
- 您只需在调用available 后设置属性即可。 因为只有在未设置的情况下才会更改属性,这将完成您想要的操作。
- 将Ant构建器集成到Eclipse中:错误“变量引用空选择”
- 如何通过java程序运行ant命令?
- 编译为1.5编写的Java代码以使用1.4 JRE?
- 如何通过代理通过ant下载文件
- 在Jar文件中运行ANT build.xml文件
- 在ant任务中使用eclipse类路径
- 在NetBeans中编译任何JavaFX项目都会返回Unsupported major.minor版本52.0
- 摆脱无法转换为String的org.eclipse.osgi.internal.framework.EquinoxConfiguration $ 1
- 部署JavaFX应用程序,创建JAR以及自包含应用程序和本机安装程序的最佳方法是什么