4

Maven Resources Plugin を使用して、XML リソース ファイル内の XML スキーマの場所を設定したいと考えています。

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

これは、1 つのことを除いて機能します。置換されたパスには、1 つのブラックスラッシュではなく 2 つのバックスラッシュがあります。

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

2つの質問:

  1. これは、XSD ファイルを指定するための有効な形式ですか?
  2. 2 つのバックスラッシュの代わりに 1 つのバックスラッシュを使用するように Maven に指示する方法はありますか?

環境変数myxsdpathC:\mypath\myschema.xsd. にはmaven-resources-plugin、フィルタリングをオンにして含めるファイルを指定する以外に、特別な構成はありません。

4

1 に答える 1

9

この動作は、バージョン 2.4 で導入された のescapeWindowsPaths属性によって制御されます。デフォルトでは、すべてのバックスラッシュがエスケープされ、 singleが doubleに変わることmaven-resources-pluginを意味します。true\\\

Windows スタイルのパスでバックスラッシュとコロンをエスケープするかどうか。

これを無効にするサンプル構成:

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