为了账号安全,请及时绑定邮箱和手机立即绑定

Maven 资源插件不会过滤掉嵌套在 ${} 中的自定义分隔符

Maven 资源插件不会过滤掉嵌套在 ${} 中的自定义分隔符

婷婷同学_ 2022-08-17 10:34:48
我有一个属性文件:property.a=$[value]我正在使用maven-resources-plugin,并启用对此属性文件的过滤,以便替换其中的构建变量:<plugin>     <artifactId>maven-resources-plugin</artifactId>     <configuration>         <delimiters>             <delimiter>$[*]</delimiter>         </delimiters>     </configuration></plugin>一切都完美地工作,直到令牌没有嵌套在其中,如下所示:$[*]${*}property.a=${VALUE:$[value]}假设在Maven属性中,我期望得到:value=XXXproperty.a=${VALUE:XXX}但是,Maven资源插件不会在那里替代,而是按原样保留过滤的contecnts。我尝试启用,但它没有改变任何东西。感觉就像尽管明确设置了选项,插件也将其视为有效的分隔符,并尝试过滤它,但没有成功。$[value]supportMultiLineFiltering<delimiters>${*}我应该如何配置 maven 资源插件,以便它按预期筛选属性文件内容?
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞


我刚刚意识到我错过了maven资源插件中的一个配置选项,该选项专为控制默认分隔符而设计 - ,默认情况下这是真的。以下配置解决了该问题:useDefaultDelimiters


<plugin>

    <artifactId>maven-resources-plugin</artifactId>

    <configuration>

        <delimiters>

            <delimiter>$[*]</delimiter>

        </delimiters>

        <useDefaultDelimiters>false</useDefaultDelimiters>

    </configuration>

</plugin>


查看完整回答
反对 回复 2022-08-17
  • 1 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信