记一次springboot工程占位符不能替换的问题

本文探讨了SpringBoot工程中配置文件占位符未正常替换的问题,指出了解决方案。首先,需要在资源标签内设置filtering为true以在编译时替换占位符。其次,当使用${}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot工程,也使用了spring配置文件,里面使用了占位符,${},但占位符一直未正常替换值。事后总结原因如下:

1)

<resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>  -->这个地方需设置为true

意思是将配置文件里的占位符在编译的时候替换。

2)由于${}方式会被maven处理,如果你的pom继承了spring-boot-starter-parent,Spring
Boot已经将maven-resources-plugins默认的${}方式改为了@@方式,如@name@。

如果还想继续使用${}占位符方式,需要在pom文件中加上下面配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <encoding>UTF-8</encoding>
        <useDefaultDelimiters>true</useDefaultDelimiters>
    </configuration>
</plugin>

小伙伴们可以自查,看是否是上面的原因。

但如果已读取了properties配置文件,正常springboot在启动时会替换占位符,但我的工程却没有。原因还在分析中,上述是在编译的时候将占位符替换为实际值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值