如何排除 Maven 变量(与 ksh 变量相同的语法)

How to exclude a maven variable (same syntax as ksh variable)

我遇到了一个粗略的问题,我有一个 ksh 脚本,它从配置文件中获取 ${USER} 变量。我无法更改变量的名称,但由于它也是 UNIX 中环境变量的名称,因此该值会被 Maven 生成器替换。

有没有办法避免这个变量被 Maven 改变? 谢谢。

Maven variables : ${var}
ksh variable :${var}

如果这个文件在 src/main/resources 中并且被正常的 Maven 资源插件过滤,您可以配置一个 escape character 来防止这种情况。为资源插件添加配置并定义要使用的转义字符。

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version><fillInLatestVersion></version>
    <configuration>
      ...
      <escapeString>\</escapeString>
      ...
    </configuration>
  </plugin>

然后配置资源文件以转义 Maven 不应替换的任何内容。

Maven variables : ${var}
ksh variable : ${var}