不同环境下,会有不同的配置文件内容。动态的对这些参数进行赋值非常重要。maven就提供了这么一个功能。
在pom.xml文件中,build节点下,添加resources节点,可以配置要过滤的文件,下面的配置表示:
对src/main/resources这个目录下的所有.properties、.xml、.ini文件里头的变量进行替换文件,
<build> <finalName>websocket-redis</finalName> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.ini</include> </includes> <filtering>true</filtering> </resource> </resources>语法解释:
resouces代表多个resouce的父节点,这个节点下可以配置多个resource
resource代表要过滤的资源节点
includes代表要过滤的文件或者文件类型
filtering代表是否过滤,如果配置为false表示不过滤,那么在打包或者编译时候就不会替换el表达式了,不填取默认值false。
经常会出现像:Circular placeholder reference的错误,如果给默认不加filtering标签的resource添加显式引用:
<filtering>false</filtering>
这个时候重新编译,发现上面这个错误就会自动消失了。