如何在 Wildfly/Thorntail 的属性文件中转义 ${...} (因此它们不会被评估为表达式)

How to escape ${...} (so they are not evaluated as expressions) in properties files in Wildfly/Thorntail

我正在启动 Thorntail hollowjar 并传入 --properties=environment.properties。该文件包含一个 属性 和一个 ${...} 表达式,这不是为了让 Thorntail 计算,而是为了让我的应用程序按原样使用。但是,Thorntail 炸弹出现错误:

[org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: (("system-property" => "myPropertyName")) - failure description: "WFLYCTL0211: Cannot resolve expression 'My property value with ${expression}'"

如何转义 ${...} 以便按字面解释?或者我可以以某种方式全局禁用系统属性中的表达式评估吗?我到处用谷歌搜索,但似乎没有任何关于这方面的记录。

好的,所以在查看代码 (org.jboss.as.controller.ExpressionResolverImpl) 后,我看到两个美元符号被一个替换了,所以为了避免表达式扩展,而不是 ${abc},做 $${abc}.

为什么他们认为编写自己的表达式评估器是个好主意,而我已经无法理解 ¯\_(ツ)_/¯