4

我想使用 Maven 资源插件在 XML 资源文件中设置 XML 模式位置:

<root xsi:noNamespaceSchemaLocation="${env.myxsdpath}" ...>

除了一件事之外,这有效 - 替换路径具有双反斜杠而不是单个黑斜杠,例如:

<root xsi:noNamespaceSchemaLocation="C:\\mypath\\myschema.xsd" ...>

所以两个问题:

  1. 这是指定 XSD 文件的有效格式吗?
  2. 有没有办法告诉 Maven 使用单个反斜杠而不是双反斜杠?

环境变量myxsdpathC:\mypath\myschema.xsd. 除了指定打开过滤时要包含的maven-resources-plugin文件之外,没有任何特殊配置。

4

1 回答 1

9

此行为由2.4 版中引入的escapeWindowsPaths属性控制。maven-resources-plugin默认true情况下,默认情况下,所有反斜杠都将被转义,将 single\变成 double \\

是否在 windows 风格的路径中转义反斜杠和冒号。

禁用此功能的示例配置:

<plugin>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.7</version>
  <configuration>
    <escapeWindowsPaths>false</escapeWindowsPaths>
  </configuration>
</plugin>
于 2016-01-04T18:31:30.133 回答