【发布时间】:2019-06-03 13:36:32
【问题描述】:
我面临一个粗略的问题,我有一个从配置文件中获取 ${USER} 变量的 ksh 脚本。我无法更改变量的名称,但由于它也是 UNIX 中环境变量的名称,因此该值将被 Maven 构建器替换。
有没有办法排除这个变量被 Maven 改变? 谢谢。
Maven variables : ${var}
ksh variable :${var}
【问题讨论】:
我面临一个粗略的问题,我有一个从配置文件中获取 ${USER} 变量的 ksh 脚本。我无法更改变量的名称,但由于它也是 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}
【讨论】: