使用 maven-resources-plugin 过滤时如何阻止反斜杠被转义?
How to stop backslashes being escaped when filtering with maven-resources-plugin?
我想使用 Maven 资源插件在 XML 资源文件中设置 XML 模式位置:
<root xsi:noNamespaceSchemaLocation="${env.myxsdpath}" ...>
除一件事外,此方法有效 - 替换路径具有双反斜杠而不是单个黑斜杠,例如:
<root xsi:noNamespaceSchemaLocation="C:\mypath\myschema.xsd" ...>
所以两个问题:
- 这是指定 XSD 文件的有效格式吗?
- 有没有办法告诉 Maven 使用单反斜杠而不是双反斜杠?
环境变量 myxsdpath
为 C:\mypath\myschema.xsd
。 maven-resources-plugin
除了指定打开过滤时要包含的文件外,没有任何特殊配置。
此行为由 2.4 版中引入的 escapeWindowsPaths
attribute of the maven-resources-plugin
控制。它默认为 true
意味着,默认情况下,所有 back-slashes 将被转义,将单 \
变为双 \
.
Whether to escape backslashes and colons in windows-style paths.
禁用此功能的示例配置:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<escapeWindowsPaths>false</escapeWindowsPaths>
</configuration>
</plugin>
我想使用 Maven 资源插件在 XML 资源文件中设置 XML 模式位置:
<root xsi:noNamespaceSchemaLocation="${env.myxsdpath}" ...>
除一件事外,此方法有效 - 替换路径具有双反斜杠而不是单个黑斜杠,例如:
<root xsi:noNamespaceSchemaLocation="C:\mypath\myschema.xsd" ...>
所以两个问题:
- 这是指定 XSD 文件的有效格式吗?
- 有没有办法告诉 Maven 使用单反斜杠而不是双反斜杠?
环境变量 myxsdpath
为 C:\mypath\myschema.xsd
。 maven-resources-plugin
除了指定打开过滤时要包含的文件外,没有任何特殊配置。
此行为由 2.4 版中引入的 escapeWindowsPaths
attribute of the maven-resources-plugin
控制。它默认为 true
意味着,默认情况下,所有 back-slashes 将被转义,将单 \
变为双 \
.
Whether to escape backslashes and colons in windows-style paths.
禁用此功能的示例配置:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<escapeWindowsPaths>false</escapeWindowsPaths>
</configuration>
</plugin>