原因
在springboot项目中,本来想通过maven的profiles和resources插件对资源文件进行动态打包的,但是发现配置好后,资源文件中的占位符就是无法被替换为值,于是想起springboot项目依赖了spring−boot−starter−parent,于是翻看此parent的pom文件,发现此pom中使用了resources插件,同时引用了{}就是无法被替换为值,于是想起springboot项目依赖了spring-boot-starter-parent,于是翻看此parent的pom文件,发现此pom中使用了resources插件,同时引用了就是无法被替换为值,于是想起springboot项目依赖了spring−boot−starter−parent,于是翻看此parent的pom文件,发现此pom中使用了resources插件,同时引用了{resource.delimiter}作为delimiter,于是查看此pom中定义的properties,发现resource.delimiter定义为@符号,原因发现完毕。
解决办法
- 将占位符替换为@@(如@username@)。
- 当前项目的pom使用resources-plugin,并指定使用默认delimiter。