0

我需要在运行时获取可用的 ant 任务列表。基本上使用用户类路径中包含的ant库并列出所有的ant任务。

4

1 回答 1

1

由于 vanilla ant 的任务定义是通过 ant.jar 中的普通属性文件定义的,因此您可以使用:

<project>
 <property url="jar:file:/path/to/your/ANT_HOME/ant.jar!/org/apache/tools/ant/taskdefs/defaults.properties" prefix="antcoretasks"/>
 <echoproperties prefix="antcoretasks"/>
</project>

列出 ant 核心任务,输出:

[echoproperties] #Ant properties
[echoproperties] #Sat Apr 14 21:23:41 CEST 2012
[echoproperties] antcoretasks.ant=org.apache.tools.ant.taskdefs.Ant
[echoproperties] antcoretasks.antcall=org.apache.tools.ant.taskdefs.CallTarget
[echoproperties] antcoretasks.antlr=org.apache.tools.ant.taskdefs.optional.ANTLR
[echoproperties] antcoretasks.antstructure=org.apache.tools.ant.taskdefs.AntStructure
[echoproperties] antcoretasks.antversion=org.apache.tools.ant.taskdefs.condition.AntVersion
... etc.

或将它们写入文件:

<echoproperties prefix="antcoretasks" destfile="some.file"/>

如果有任何进一步的要求,您必须在您的问题中提供更多详细信息。

于 2012-04-14T19:37:13.197 回答