EclipseでXML検証を無効にする


123

私のEclipseは、ファイルを保存するたびにXMLファイルを検証しますが、検証に時間がかかります。プロジェクトはgwt-maven-pluginを使用して作成されます。

XMLファイルはEclipseのソースフォルダーのビルドパスの下にはなく、src / main / webapp / [GwtModule]> / scの下のSmartGWTによって自動生成されます

また、これらすべてのXMLファイルには、「コンテンツはプロローグで許可されていません」というエラーが表示され、プロジェクトを実行するたびに、エラーが発生していないにもかかわらずプロジェクトを実行することを確認する必要があります(すべて正常に動作します)。

私はEclipse-> Window-> Preferences-> Validationの下ですべてのValidatorsを一時停止しようとしましたが、役に立ちませんでした。

Eclipseが毎回私を困らせるのを防ぐ方法はありますか?


Preferences..xml..xml files..validation
Ed Staub

@EdStaubそれらのいずれかを変更しても違いはありません
Satish

回答:


168

次の2つのオプションがあります。

  1. ワークスペースの設定を構成します(現在のワークスペースの検証を無効にします):[ウィンドウ]> [設定]> [検証]に移動し、マニュアルのチェックを外してビルドします:XMLスキーマ検証、XML検証

  2. プロジェクト固有の設定を有効にする(このプロジェクトの検証を無効にする)チェックボックスをオンにします。プロジェクトを右クリックし、[プロパティ]> [検証]を選択して、マニュアルのチェックを外してビルドします。XMLスキーマ検証ツール、XML検証ツール

プロジェクトを右クリックし、[ 検証]を選択してエラーを非表示にします。


3
新しいバージョンのEclipseではメニュー構造が変更されているようです-少なくとも私のEclipse Marsインストールには「XML Schema Validator」エントリがありません。代わりに、プロジェクトのコンテキストメニューには、「検証」の下のすべての検証が一覧表示されます。これは、kevinarpeの回答で説明されています。
Stephan Rauh、2015年

2
最新のEclipseバージョンの場合は「はい」:「ウィンドウ」>「設定」をクリックし、左側のペインで「検証」を選択します。「設定」ウィンドウの「検証」ページには、プロジェクトで使用できる検証ツールとその設定が一覧表示されます。個々のバリデーターを無効にするには、無効にする各バリデーターの横にあるチェックボックスをオフにします。各バリデーターには、手動検証またはビルドで有効にするかどうかを指定するチェックボックスがあります。
トム

63

他の答えはあなたのために働くかもしれませんが、それらは私のケースをカバーしませんでした。私が望んでいたいくつかの XMLを検証するために、そして他の人ではありません。この画像は、XML検証のために特定のフォルダー(またはファイル)を除外する方法を示しています。

まず、Eclipseプロジェクトのルートを右クリックします。最後の項目を選択:プロパティ...

ここに画像の説明を入力してください

(ブラウザがこの画像を非常に小さく拡大している場合は、右クリックして新しいウィンドウまたはタブで開きます。)

  • ** Browse File ... *または** Browser Folder ... *ボタンをクリックすると、Eclipseは非常に敏感なように見えます。このダイアログにはいくつかの作業が必要です!
  • これはEclipse 4.3(Kepler)を使用して行われました。

46

[ウィンドウ]> [設定]> [検証]> [XML検証ツールの手動とビルドをオフにする] ここに画像の説明を入力してください


8

すべてのファイルのエンコーディングが正しいことを確認してください。これは、ファイルのエンコーディングが間違っているか、XMLヘッダーのエンコーディングが正しくない場合に発生することがあります。

したがって、次のNewFile.xmlがある場合:

<?xml version="1.0" encoding="UTF-16"?>
<bar foo="foiré" />

そして、EclipseエンコーディングはUTF-8です。

Eclipseエンコーディングリソース

ファイルのエンコーディング、Eclipseで定義されたエンコーディング([プロパティ]-> [リソース]を使用)、およびXMLドキュメントで宣言されたエンコーディングはすべて一致する必要があります。

バリデーターは<?xml ...を期待してファイルを読み取ろうとしていますが、エンコードが予期したものと異なるため、見つかりません。したがって、エラー:コンテンツはプロローグで許可されていません。プロローグは、<?xml宣言の前のビットです。

編集:申し訳ありませんが、.xmlファイルが生成され、実際にはJavaScriptが含まれていることを認識していませんでした。

バリデーターを一時停止しても、生成したエラーメッセージは消えません。それらを削除するには、手動で削除する必要があります。

  1. バリデーターを一時停止します
  2. 「プロローグではコンテンツは許可されていません」というメッセージをクリックし、右クリックして削除します。複数選択することも、すべて選択することもできます。
  3. プロジェクト->クリーンを実行します。メッセージは戻らないはずです。

あなたはバリデーターを一時停止しているので、Eclipseはバリデーターから送られてきた古いエラーメッセージを削除する必要があることに気付かないと思います。


SmartGWTによって生成されたファイルには、XMLではなくJavaScriptが含まれているように見えますが、奇妙な拡張子は.ds.xmlです
Satish

生成されたディレクトリを削除するとエラーは消えましたが、プロジェクトをクリーンアップすると、エラーはディレクトリとともに戻ってきました。バリデーターはずっと中断されます。
満足のいく2009

1

JBoss Developer 4.0以降(Eclipseベース)では、これは少し簡単です。xmlベースのファイルを含むファイルまたはフォルダーを右クリックし、[検証を除外]を選択して、[はい]をクリックして確定します。次に、同じファイル/フォルダーをもう一度右クリックして、[検証]をクリックします。確認するとエラーが削除されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.