读书人

Intellij IDEA中使用maven filter遇到

发布时间: 2012-12-20 09:53:21 作者: rapoo

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的使用:

<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>

读书人网 >编程

热点推荐