Maven - 重命名名称放在变量中的文件

时间:2012-08-21 19:47:37

标签: maven properties file-rename maven-antrun-plugin

所以这是我的问题, 我有文件,使用不同的配置文件时,每个文件都必须以不同的方式重命名。

所以我有2个.properties文件,dev.properties和rec.properties 在dev.properties中,您可以找到:

machineName=marin
prefix=DEV
fileOneName=node
你可以在rec.properties中找到

machineName=marin
prefix=REC
fileOneName=node

我现在想要的是在设置要使用的配置文件时能够使用这些变量的内容:

    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <!-- Filter name -->
            <cogepat.filter.properties>dev.properties</cogepat.filter.properties>
        </properties>
    </profile>

但是在使用时我的变量没有被填充:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>run-ant-rename-war</id>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                 <copy file="mavencopyfrom/adeplacer.txt" tofile="mavencopyto/${prefix}_${fileOneName}${machineName}.txt"/>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
        </plugin>
    </plugins>
</build>

我最终得到的是一个名为:

的文件
${prefix}_${fileOneName}${machineName}.txt

1 个答案:

答案 0 :(得分:0)

尝试设置这样的属性:

<profile>
    <id>dev</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <machineName>marin</machineName>
        <prefix>DEV</prefix>
        <fileOneName>node</fileOneName>
    </properties>
</profile>

这应该可以解决问题。