Le haut de mon web.xml
le fichier ressemble à ceci:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://Java.Sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Java.Sun.com/xml/ns/j2ee http://Java.Sun.com/xml/ns/j2ee/web-app_2_5.xsd"
version="2.5">
Mais je reçois toujours l'avertissement d'Eclipse (Ganymède) qu'aucun schéma XML n'est détecté, et les violations de schéma ne sont pas averties. Les autres fichiers XML de mon projet ( Spring Framework fichiers de configuration par exemple) n'ont pas d'avertissement et donnent des avertissements corrects sur les violations de schéma.
Comment faire fonctionner la vérification de schéma et, espérons-le, l'avertissement de disparaître? Le serveur fonctionne correctement. Il semble que ce soit un problème IDE.
Essayez peut-être:
http://Java.Sun.com/xml/ns/javaee/web-app_2_5.xsd
Au lieu de:
http://Java.Sun.com/xml/ns/j2ee/web-app_2_5.xsd
Également <!DOCTYPE ...>
est manquant:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<web-app
xmlns="http://Java.Sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Java.Sun.com/xml/ns/javaee http://Java.Sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!-- ... -->
</web-app>
Je déteste cet avertissement aussi. Surtout parce qu'il apparaît dans des fichiers XML que vous n'avez pas écrits mais qui apparaissent dans votre projet pour une raison quelconque (si vous utilisez MAVEN c'est l'enfer).
Avec Eclipse 3.5+, vous pouvez facilement supprimer cette règle de validation. Allez dans Préférences -> XML -> FICHIERS XML -> Validation et sélectionnez "ignorer".
Vous devrez peut-être également faire un Projet -> Nettoyer pour que les avertissements de validation disparaissent.
Videz le cache des fichiers de validation stockés.
Fenêtre> Préférences> Général> Connexions réseau> Cache puis supprimez tout. Maintenant, validez le fichier et voyez si cela clarifie les choses.
Cela m'est arrivé et vider le cache pour la validation était le seul moyen de le faire fonctionner à nouveau correctement. Le conseil pour effacer le cache sale a été trouvé ici .
Si vous avez le même message d'erreur (trompeur) car votre éditeur XML n'a pas trouvé le fichier XSD, vous pouvez ajouter une entrée de catalogue.
Vous choisissez l'URL spécifiée pour le schéma, pour une déclaration comme
xsi:schemaLocation="http://Java.Sun.com/xml/ns/j2ee
http://Java.Sun.com/xml/ns/j2ee/web-app_2_5.xsd"
L'URL du fichier de schéma (http://Java.Sun.com/xml/ns/j2ee/web-app_2_5.xsd) est spécifiée pour l'espace de noms http://Java.Sun.com/xml/ ns/j2ee . Vous pouvez maintenant rediriger l'emplacement du fichier avec le catalogue de l'espace de travail dans Eclipse:
Preferences -> XML -> XML Catalog -> Add..
Utilisation
Key Type = Schema Location
Key = http://Java.Sun.com/xml/ns/j2ee/web-app_2_5.xsd
Et ensuite, vous pouvez utiliser le sélecteur de fichiers pour sélectionner réellement un fichier XSD sur le système de fichiers ou l'espace de travail.
vous pouvez également voir ma réponse pour une question similaire sur .
Fondamentalement, écrivez simplement votre xml pour vous conformer à la règle requise
Le problème est double:
Lorsque vous révisez les valeurs correctes pour Java EE 5, l'entrée dans le cache sera trouvée et Eclipse sera satisfait.