【问题标题】:How to specify to a resource folder which filter to use Maven?如何为资源文件夹指定使用 Maven 的过滤器?
【发布时间】:2014-05-05 15:39:02
【问题描述】:

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

我尝试这样做,但它不起作用,它从 pom.xml 中选择最后一个过滤器,所以当我检查文件夹 target/classes/target/test-classes 中的文件 applicationContext.xml 时,我发现这两个文件都有从 pom.xml 上声明的最后一个过滤器获取的相同值

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>

        </plugin>
    </plugins>

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

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


    <filters>
        <filter>src/test/filters/filter.properties</filter>
        <filter>src/main/filters/filter.properties</filter>
    </filters>

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

【问题讨论】:

    标签: java maven maven-resources-plugin


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      • 2015-10-25
      相关资源
      最近更新 更多