原因
在springboot项目中,本来想通过maven的profiles和resources插件对资源文件进行动态打包的,但是发现配置好后,资源文件中的占位符
就
是
无
法
被
替
换
为
值
,
于
是
想
起
s
p
r
i
n
g
b
o
o
t
项
目
依
赖
了
s
p
r
i
n
g
−
b
o
o
t
−
s
t
a
r
t
e
r
−
p
a
r
e
n
t
,
于
是
翻
看
此
p
a
r
e
n
t
的
p
o
m
文
件
,
发
现
此
p
o
m
中
使
用
了
r
e
s
o
u
r
c
e
s
插
件
,
同
时
引
用
了
{}就是无法被替换为值,于是想起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。