1

我面临一个非常简单的 ANT 脚本问题。我有一个脚本,可以加载和设置从文件系统中的多个属性文件加载的许多属性。此属性用于预配置新项目。

问题是:我可以编写一个新的属性文件来保存所有以给定前缀开头的属性(例如“ref.proj.*”)吗?

属性的数量和名称是可变的,所以我不能使用

    <propertyfile file="my.properties">
      <entry  key="ref.proj.first" value="${ref.first}"/>
       ...
      <entry  key="ref.proj.n" value="${ref.n}"/>
    </propertyfile>

可以将过滤器应用于属性文件任务吗?提前致谢!

4

2 回答 2

2

我花了太长时间来解决所有的问题。对不起...

你应该看看<echoproperties>任务。这将允许您选择各种属性并以property = value格式打印出来。

您可以将其用作属性文件本身。

于 2013-01-31T21:00:36.577 回答
0

以下示例使用groovy ANT 任务

    <path id="build.path">
        <pathelement location="lib/groovy-all-2.1.0.jar"/>
    </path>

    <target name="create-properties">
        <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>

        <groovy>
            new File("my.properties").withWriter { writer ->
                properties.findAll { it.key.startsWith("ref.proj") }.each {
                    writer.println it
                }
            }
        </groovy>
    </target>
于 2013-01-31T21:26:44.157 回答