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

时间:2019-08-08 10:11:50

标签: java jboss wildfly thorntail

我正在启动一个Thorntail空心罐,并传递--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}'"

我如何转义${...}以便按字面意义进行解释?还是可以以某种方式全局禁用系统属性中的表达式求值?我到处都有Google搜索,但似乎没有任何记录。

1 个答案:

答案 0 :(得分:0)

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

为什么在我之外已经有很多优秀的表达者时,为什么写一个自己的表达评估者是一个好主意?__(ツ)_ /