为什么会出现'#34; at character" (@)属性的语法?

时间:2015-08-02 03:15:28

标签: maven

之前可能已经提出过这个问题,但谷歌很难。

我在pom.xml文件中看到过这种语法:

<version>@project.version@</version>

配对@字符似乎是引用属性的另一种方式,但Maven documentation for properties中未提及。如果我们可以使用${property}引用属性,为什么会出现这种语法?或者也许是为了别的什么?

1 个答案:

答案 0 :(得分:1)

可能的属性分隔符由maven-resources-plugin定义(更确切地说是maven shared filtering module)。

使用<delimiters>配置,您甚至可以更改(通过添加或替换)分隔符以匹配您需要支持的任何语法。

这就是它来自技术上,并且找不到任何文本说明为什么使用它,但我想如果你有两个系统处理相同的文件(Maven和一些pre-或post-build),或处理一些使用@作为分隔符的遗留系统。

添加@使用的提交来自初始提交,收集管理共享组件中的过滤的各种方法。在引用此提交的JIRA问题中:MSHARED-46,关于通用意图的文档很少,有Codehaus doc的链接,由于Internet Wayback Machine而检索,因为Codehaus现在已经关闭