2010-08-09 4 views
2

Lorsque Eclipse détecte un document XML non valide, dans mon cas un fichier web.xml, il renvoie le modèle de contenu de la DTD et me dit que l'élément est invalide. Ceci est tout à fait inutile, car il finit par me dire que:Délimiter les erreurs web.xml dans Eclipse

Le contenu du type d'élément "web-app" doit correspondre « (icône, affichage nom, description, distribuable, contexte param?? *, filtre *, filtre-mapping *, écouteur *, servlet *, mappage servlet *, session-config?, mime-mapping *, liste-de-fichier-de-bienvenue ?, page-d'erreur *, taglib *, ressource-env- ref *, resource-ref *, contrainte de sécurité *, login-config?, rôle de sécurité *, env-entry *, ejb-ref *, ejb-local-ref *) ".

Dans un fichier web.xml de 900 lignes, l'erreur n'est pas facile à trouver.

Comment puis-je isoler le premier élément qui rend le document invalide?

Répondre

2

Je voudrais créer une copie du web.xml et couper le contenu en deux, (en s'assurant qu'il reste bien formé) jusqu'à ce que je trouve l'élément. Après cela, vous ajoutez les parties restantes de votre fichier copié.

+0

Eh bien, c'est un bon début. J'ai trouvé le problème par une inspection manuelle, mais il semble _réally_ idiot de le faire quand Eclipse devrait indiquer la ligne d'erreur exacte. –

2

Je sais que c'est une vieille question, mais pour moi, il a fini par être l'ordre des options web.xml. Si vous examinez le message d'erreur, vos éléments doivent être dans l'ordre exact indiqué dans l'erreur. Par exemple:

<web-app> 

<display-name>LBSPing!</display-name> 

<context-param> 
    ... 
</context-param> 

<listener> 
    ... 
</listener> 

<servlet> 
    ... 
</servlet> 

<servlet-mapping> 
    ... 
</servlet-mapping> 

</web-app> 

Pour moi, mon contexte params étaient après mes nœuds de servlet et auditeur, qui a été à l'origine de mon problème.

+0

était la solution pour moi. "web-app_2_3.dtd" – Vadimo