在命令行上转义 Maven 属性
Escape Maven properties on the command line
我正在尝试调用 versions:set -DnewVersion=${revision}
,但 没有 ${revision}
被替换。
我试图将 $
转义为 $
或 $$
,但这没有用。
知道如何实现吗?
有一个技巧可以让 Maven 将以 $
开头的属性视为字符串而不是尝试替换它们:
./mvnw versions:set -Ddollar='$' -DnewVersion='${dollar}{revision}'
pom.xml
包含所需的结果:
<version>${revision}</version>
一个更简单但不太优雅的想法是使用 sed
:
./mvnw versions:set -DnewVersion='@revision@'
sed -i '' 's|@revision@|${revision}|' pom.xml
我正在尝试调用 versions:set -DnewVersion=${revision}
,但 没有 ${revision}
被替换。
我试图将 $
转义为 $
或 $$
,但这没有用。
知道如何实现吗?
有一个技巧可以让 Maven 将以 $
开头的属性视为字符串而不是尝试替换它们:
./mvnw versions:set -Ddollar='$' -DnewVersion='${dollar}{revision}'
pom.xml
包含所需的结果:
<version>${revision}</version>
一个更简单但不太优雅的想法是使用 sed
:
./mvnw versions:set -DnewVersion='@revision@'
sed -i '' 's|@revision@|${revision}|' pom.xml