有条件的替代maven

时间:2015-07-20 12:08:12

标签: java maven replace conditional

在使用com.google.code.maven-replacer-plugin编译我的工件时,我曾经将log4j.properties文件中的日志级别从“DEBUG”替换为“WARN”:

    <plugin>
        <groupId>com.google.code.maven-replacer-plugin</groupId>
        <artifactId>replacer</artifactId>
        <version>1.5.3</version>
        <executions>
            <execution>
                <phase>prepare-package</phase>
                <goals>
                    <goal>replace</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <file>${project.build.outputDirectory}/com/myCompany/MyApp/app/log4j.properties</file>
            <replacements>
                <replacement>
                    <token>DEBUG</token>
                    <value>WARN</value>
                </replacement>
            </replacements>
        </configuration>
    </plugin>

我现在要做的是根据工件是RELEASE还是SNAPSHOT来替换日志级别。像“if $ {version}以RELEASE替换结束的东西,否则保持DEBUG级别。 有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

maven-release-plugin启用release-profile个人资料by default。因此,您可以禁用该配置文件中maven-replacer-plugin的执行。

Maven的introduction to profiles,以防您不熟悉配置文件的工作方式。

但是,如果您不使用maven-release-plugin或不喜欢此解决方案,则可以设置自定义配置文件。