2011-03-10 112 views
1

我正在读取ant中的文件并通过loadproperties加载属性。我有兴趣使用名称未知的特定属性的值。我知道它遵循一种模式,因为这是我如何加载属性。蚂蚁中的动态属性名称

我可以echoproperties,看看它正在加载。

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

如何访问此属性的值来执行一些处理。

我希望这很清楚。请问我是否需要澄清更多。

+0

你能给的示例模板和匹配属性名称? –

回答

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 

这将下载所有必需的可选罐子到〜/赵军阳张志利/ lib目录下。

2

看看ant-contrib包。它的propertycopy任务将完成你所需要的任务。如果您需要按照已建立的模式解析任意数量的属性,则可以将ant-contrib的propertycopy与ant-contribs“for”任务结合使用。

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