ant中的动态属性名称

时间:2011-03-10 17:35:43

标签: ant properties

我正在读取ant中的文件并通过loadproperties加载属性。我感兴趣的是使用特定属性的值,其名称未知。我知道它遵循一个模式,因为这是我加载属性的方式。

我可以回声并看到它正在加载。

但是我不知道如何访问它的值,因为它的名字实际上是一个模式,而不是硬编码。

如何访问此属性的值以进行某些处理。

我希望这很清楚。请问我是否需要澄清一些。

2 个答案:

答案 0 :(得分:2)

看一下ant-contrib包。它的propertycopy任务将满足您的需求。如果您需要按照既定模式解析任意数量的属性,则可以将ant-contrib的propertycopy与ant-contribs“for”任务结合使用。

http://ant-contrib.sourceforge.net/tasks/tasks/index.html

答案 1 :(得分:0)

您应该使用Ant的script任务。

我建议使用beanshell脚本,因为它是纯java。 例如,要打印项目的所有属性,请使用以下命令:

 <target name="echoprops">
    <script language="beanshell">
        System.out.println("All Properties: " + project.getProperties().keySet());
    </script>
 </target>

修改上面的脚本以获取所需的属性应该很容易。

要使用此任务,您需要先在$ ANT_HOME中运行以下命令:

ant -f fetch.xml script -Ddest=user

将所有必需的可选罐子下载到〜/ .ant / lib。