Maven提供了一种过滤机制,可以在资源文件被复制到目标目录的同时,替换其中的placeholders。
如pom配置如下:
<build>
<filters>
<filter>D:/WebApp/rmi.test/antx.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**.xml</exclude>
</excludes>
</resource>
</resources>
</build>
可实现将src/main/resources下的所有.xml文件过滤,用D:/WebApp/rmi.test/antx.properties中的配置属性替换.xml中${xx.xx.xx}.
为了使项目结构更为清晰,Maven区别对待Java代码文件和资源文件,maven-compiler-plugin用来编译Java代码,maven-resources-plugin则用来处理资源文件。默认的主资源文件目录是src/main/resources
,很多用户会需要添加额外的资源文件目录,这个时候就可以通过配置maven-resources-plugin即使用<resources>来实现。如下:
<resource>
<directory>src/main/webapp</directory>
<includes>
<include>WEB-INF/**.xml</include>
</includes>
<filtering>true</filtering>
</resource>、
编译后,src/main/webapp/WEB-INF及其下的所有.xml文件将同时在target\工程名\WEB-INF\classes路径下。
如下图:
问题:如何结合maven-war-plugin插件使用好有待学习,感觉有问题。。。。