Как остановить экранирование обратной косой черты при фильтрации с помощью плагина maven-resources?

Я хотел бы использовать плагин Maven Resources для установки местоположения схемы XML в файле ресурсов XML:

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

Это работает, за исключением одного: замененный путь имеет двойную обратную косую черту вместо одной черной косой черты, например:

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

Итак два вопроса:

  1. Является ли это допустимым форматом для указания файла XSD?
  2. Есть ли способ сказать Maven использовать одинарную обратную косую черту вместо двойной обратной косой черты?

Переменная среды myxsdpath равна C:\mypath\myschema.xsd. maven-resources-plugin не имеет какой-либо специальной конфигурации, кроме указания файлов, которые должны быть включены с включенной фильтрацией.


person Steve Chambers    schedule 04.01.2016    source источник


Ответы (1)


Это поведение контролируется атрибутом escapeWindowsPaths элемента maven-resources-plugin, представленный в версии 2.4. По умолчанию используется true, что означает, что по умолчанию все обратные косые черты будут экранированы, превращая одинарное \ в двойное \\.

Нужно ли избегать обратной косой черты и двоеточий в путях в стиле Windows.

Пример конфигурации для отключения этого:

<plugin>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.7</version>
  <configuration>
    <escapeWindowsPaths>false</escapeWindowsPaths>
  </configuration>
</plugin>
person Tunaki    schedule 04.01.2016