dimanche 24 juillet 2011

cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'.

Problème :

cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'. One of '{"http://java.sun.com/xml/ns/javaee":servlet-class, "http://java.sun.com/xml/ns/javaee":jsp-file}' is 
 expected.

Dans Eclipse, j'ai la balise display-name souligné en rouge:

web.xml :
   <servlet>
<servlet-name>monitor</servlet-name>
<display-name>monitor</display-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>/WEB-INF/monitor-servlet.xml</param-value>
    </init-param>
<load-on-startup>1</load-on-startup>
   </servlet>

Solution:

Il faut mettre la balise display-name en premier :

   <servlet>
<display-name>monitor</display-name>  
<servlet-name>monitor</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>/WEB-INF/monitor-servlet.xml</param-value>
    </init-param>
<load-on-startup>1</load-on-startup>
   </servlet>

Remarque : Sur mon projet google : http://code.google.com/p/lin-mon-webapp/, j'ai commité un fichier web;xml sans erreur de validation (J'ai pu le vérifier en faisant validate dans Eclipse).