防止 Maven 从原型资源中删除 $(美元符号)?

Prevent Maven from removing $ (dollar sign) from archetype resources?

我有一个带有一些 .java 文件的 Maven 原型。在它们里面,我执行了一些需要使用 $ 来评估 json 和 json-path 的测试,例如:

.andExpect(jsonPath("$.id", is(1)))

当我用 mvn archetype:generate 生成项目时,美元不再存在:

.andExpect(jsonPath(".id", is(1)))

有没有办法告诉 Maven 不要删除那个 $?

我试过用不同的方式转义:\$ - $$ - \$...没有成功。

我注意到 $ 符号仅在其后跟一个点和一些文本时才会被删除:

这是一种解决方法,但您可以这样做:

.andExpect(jsonPath("$"+".id", is(1)))

防止 maven 删除它。

您也可以使用以下语法:

#set( $symbol_dollar = '$' )

.andExpect(jsonPath("${symbol_dollar}.id", is(1))