126 votes

Désactiver la validation XML dans Eclipse

Mon Eclipse valide les fichiers XML à chaque fois que j'enregistre un fichier et cela prend un certain temps pour les valider. Le projet est créé à l'aide de gwt-maven-plugin.

Les fichiers XML ne se trouvent pas dans le chemin de construction du dossier Source dans Eclipse, ils sont générés automatiquement par SmartGWT dans src/main/webapp/[GwtModule]>/sc.

De plus, tous ces fichiers XML sont marqués de l'erreur "Content is not allowed in prolog" et chaque fois que je lance le projet, je dois confirmer que je veux lancer le projet avec des erreurs alors qu'il n'y en a pas (et que tout fonctionne bien).

J'ai essayé de suspendre tous les validateurs sous Eclipse -> Fenêtre -> Préférences -> Validation mais sans succès.

Une idée de la manière dont je peux empêcher Eclipse de m'ennuyer à chaque fois ?

0 votes

Préférences..xml..fichiers xml..validation

0 votes

@EdStaub Changer l'un de ces éléments ne fait aucune différence.

172voto

MahmoudS Points 6654

Vous avez deux options :

  1. Configurer les paramètres de l'espace de travail (désactiver la validation pour l'espace de travail actuel) : Allez dans Fenêtre > Préférences > Validation et décochez les cases manual et build pour : XML Schema Validator, XML Validator

  2. Vérifier l'activation des paramètres spécifiques au projet (désactiver la validation pour ce projet) : Cliquez avec le bouton droit de la souris sur le projet, sélectionnez Propriétés > Validation et décochez la case manual and build for : XML Schema Validator, XML Validator

Cliquez à droite sur sur le projet et sélectionnez Valider pour faire disparaître les erreurs.

3 votes

La structure du menu semble avoir changé dans les versions plus récentes d'Eclipse - en tout cas, mon installation d'Eclipse Mars n'a pas d'entrée "XML Schema Validator". Au lieu de cela, le menu contextuel du projet liste chaque validation sous "validation", comme décrit dans la réponse de kevinarpe.

2 votes

Oui pour les versions plus récentes d'Eclipse : Cliquez sur Fenêtre > Préférences et sélectionnez Validation dans le volet de gauche. La page Validation de la fenêtre Préférences liste les validateurs disponibles dans votre projet et leurs paramètres. Pour désactiver des validateurs individuels, décochez les cases à côté de chaque validateur que vous souhaitez désactiver. Chaque validateur comporte une case à cocher permettant de préciser s'il est activé pour une validation manuelle ou lors d'une construction.

0 votes

Fonctionne parfaitement pour Eclipse Oxygen 4.7.0 sur CentOS 6.10 x86 .

64voto

kevinarpe Points 2902

Les autres réponses peuvent vous convenir, mais elles ne couvraient pas mon cas. Je voulais un peu de XML à valider, et d'autres non. Cette image montre comment exclure certains dossiers (ou fichiers) de la validation XML.

Commencez par un clic droit sur la racine de votre projet Eclipse. Sélectionnez le dernier élément : Propriétés...

enter image description here

(Si votre navigateur réduit cette image, faites un clic droit et ouvrez-la dans une nouvelle fenêtre ou un nouvel onglet).

  • Eclipse semble être très sensible si vous cliquez sur le bouton **Browse File...* ou **Browser Folder...*. Cette boîte de dialogue a besoin d'être retravaillée !
  • Cela a été fait en utilisant Eclipse 4.3 (Kepler).

48voto

Mark Points 728

Fenêtre > Préférences > Validation > décocher XML Validator Manual et Build enter image description here

0 votes

À mon avis, il faut marquer la bonne réponse.

8voto

Matthew Farwell Points 31257

Assurez-vous que l'encodage est correct pour tous vos fichiers. Cela peut parfois arriver si l'encodage de votre fichier ou de votre en-tête XML est incorrect.

Ainsi, si j'ai le fichier NewFile.xml suivant :

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

Et l'encodage d'Eclipse est UTF-8 :

Eclipse Encoding Resource

L'encodage de votre fichier, l'encodage défini dans Eclipse (via Propriétés->Ressource) et l'encodage déclaré dans le document XML doivent tous concorder.

Le validateur tente de lire le fichier, en attendant <?xml ... mais comme l'encodage est différent de celui attendu, il ne le trouve pas. D'où l'erreur : Le contenu n'est pas autorisé dans le prologue. Le prologue est le passage avant la déclaration <?xml.

EDIT : Désolé, je n'avais pas réalisé que les fichiers .xml étaient générés et contenaient en fait du javascript.

Lorsque vous suspendez les validateurs, les messages d'erreur que vous avez générés ne disparaissent pas. Pour qu'ils disparaissent, vous devez les supprimer manuellement.

  1. Suspendre les validateurs
  2. Cliquez sur le message "Content is not allowed in prolog", faites un clic droit et supprimez-le. Vous pouvez en sélectionner plusieurs, ou tous.
  3. Faites un Projet->Nettoyage. Les messages ne devraient pas revenir.

Je pense que parce que vous avez suspendu les validateurs, Eclipse ne réalise pas qu'il doit supprimer les anciens messages d'erreur qui provenaient des validateurs.

0 votes

Les fichiers générés par SmartGWT semblent contenir du JavaScript et non du XML, bien qu'ils aient bizarrement l'extension .ds.xml.

0 votes

Les erreurs ont disparu lorsque j'ai supprimé le répertoire généré, mais lorsque j'ai nettoyé le projet, les erreurs sont revenues en même temps que le répertoire. Les validateurs sont suspendus pendant tout ce temps.

1voto

fuzzyanalysis Points 858

Dans JBoss Developer 4.0 et plus (basé sur Eclipse), c'est un peu plus facile. Il suffit de cliquer avec le bouton droit de la souris sur le fichier ou le dossier qui contient des fichiers xml, de choisir "Exclure la validation", puis de cliquer sur "Oui" pour confirmer. Ensuite, faites un nouveau clic droit sur les mêmes fichiers/dossiers et cliquez sur "Valider", ce qui supprimera les erreurs avec une confirmation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X