如何指定资源文件夹使用哪个过滤器来使用Maven?

时间:2014-05-05 15:39:03

标签: java maven maven-resources-plugin

我有两个配置属性文件和两个application Context xml files,一个用于测试,另一个用于开发,我必须指定每个案例使用哪个过滤器。

我尝试这样做但是它不起作用,它选择pom.xml中的最后一个过滤器,所以当我检查文件夹applicationContext.xml和{{1}中的文件target/classes时我发现这两个文件的值与/target/test-classes

上声明的最后一个过滤器的值相同
pom.xml

所以我想知道是否有解决方案为每种情况指定要使用的适当过滤器?

1 个答案:

答案 0 :(得分:1)

您可以使用profiles

不幸的是,filters中不允许profile,因此您可以使用以下解决方法:

外部资料写道:

<filters>
    <filter>src/${switch}/filters/filter.properties</filter>
</filters>

在主要个人资料中写道:

<properties>
  <switch>main</switch>
</properties>
<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
    </resource>
</resources>

在测试档案中写道:

<properties>
  <switch>test</switch>
</properties>
<testResources>
    <testResource>
        <filtering>true</filtering>
        <directory>src/test/resources</directory>
    </testResource>
</testResources>

最后运行:

mvn install -Pmain

或:

mvn install -Ptest