Intellij IDEA中使用maven filter遇到的有关问题

Intellij IDEA中使用maven filter遇到的问题
自己使用的java ide一直是IDEA,在项目中需要使用maven的filter进行开发、线上环境的不同的变量的管理,根据maven-war-plugin进行过滤时,总是不能得到预期的变量替换。最终在idea的官网找到了问题所在:
IntelliJ IDEA's Make features are capable of filtering Maven resources. However, IntelliJ IDEA yet does not support filtering web resources.
很悲剧,浪费了一上午的时间解决这个问题。

最后的解决办法是:要么创建module时,对需要使用filter功能的文件不要放在web module中;要么通过ant命令或自行写maven插件解决,在idea编译后、运行web容器前,将target\classes目录下的文件复制到target\web_fileName\WEB-INF\classes下面(因为idea对target\classes下面的文件进行filter,而不会对web_fileName\WEB-INF\classes下面的文件进行过滤)。最终还是自己写了个maven插件搞定,源代码见附件。

附两种filter的使用:
         <plugin> 
            <artifactId>maven-war-plugin</artifactId> 
            <version>2.0.2</version> 
            <configuration> 
              <filters> 
                <filter> 
                  ${base.dir}/*.properties 
                </filter> 
              </filters> 
              <webResources> 
                <resource> 
                  <directory> 
                    ${base.dir}/src/webapp/patches/ 
                  </directory> 
                  <includes> 
                    <include>resources-config.xml</include> <!--对哪些文件进行filter-->
                  </includes> 
                  <filtering>true</filtering> <!--启用filter功能-->
                  <targetPath>WEB-INF/classes</targetPath> 
                </resource> 
              </webResources> 
            </configuration> 
          </plugin> 



通用filter配置(可解决idea中的问题)
<build>
        <filters>
            <filter>${user.home}/filter.properties</filter>
        </filters>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>
</build>