使用maven-resources-plugin过滤时如何阻止反斜杠被转义?

Ste*_*ers 4 java xml xsd maven maven-resources-plugin

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

<root xsi:noNamespaceSchemaLocation="${env.myxsdpath}" ...>
Run Code Online (Sandbox Code Playgroud)

这样做除了一件事 - 替换路径有双反斜杠而不是一个黑色斜杠,例如:

<root xsi:noNamespaceSchemaLocation="C:\\mypath\\myschema.xsd" ...>
Run Code Online (Sandbox Code Playgroud)

所以有两个问题:

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

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

Tun*_*aki 9

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

是否在窗式路径中逃避反斜杠和冒号.

示例配置禁用此功能:

<plugin>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.7</version>
  <configuration>
    <escapeWindowsPaths>false</escapeWindowsPaths>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)