maven中filtering的使用

本文介绍了SpringEL表达式和Maven占位符的区别,以及如何通过Maven的`<build><resources><filtering>true</filtering></resource></resources></build>`配置打通两者,使得Spring应用能够读取Maven的参数。`filtering`选项允许将Maven的变量解析扩展到资源文件,实现SpringEL与Maven参数的交互。

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

SpringEL表达式取值一般是${var}方式取值, 见于application.properties和@Value("${var}")中。EL表达式适用于配置文件及代码中的注解。

maven的pom.xml文件中也有类似的取值表达式, 也是通过${var}的方式取值。maven的占位符取值表达式默认仅仅适用于pom.xml文件中。

我们的需求大多是想打通二者的交流,如何做?
如果想扩大它的活动范围,就必须指定需要扩大到哪些文件,然后指定filtering=true.然后maven的占位符解析表达式就可以用于它里面的表达式解析了。

<build>
    <resources>
        <resource>
            <directory>${project.basedir}/src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

总结:

1. Spring EL表达式和MAVEN的占位符表达式长得一样,但两者默认进水不犯河水,不能再Spring的范围内取maven的参数

2. filtering的作用就是打通两者的连接, 让井水犯河水, 具体来说是让Spring的范围内能取到maven的参数

3. filtering的使用要配合resource一起使用: 前者开启打通连接,后者指定打通的范围.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值