java.lang.noclassdeffounderror: javax / caras / modelo / selectitem
Pregunta
Estoy obteniendo la siguiente seguimiento de la excepción cuando ejecuto una aplicación web implementada en Jety Web Server. Se ve que me falta un archivo jar. ¿Alguien puede decirme qué está mal?
error http 500
PROBLEMA Acceso /pmcounters/default.jsp. Razón:
javax/faces/model/SelectItem
causado por:
java.lang.noclassdeffounderror: javax / caras / modelo / selectitem en com.ericsson.dae.pm.Dao.VirtualConfigtableAo. (Virtualdaeconfigtableoo.java:41) en org.apache.jsp.default_jsp._jspservice (org.apache.jsp.default_jsp: 162) en org.apache.jasper.runtime.httpjspbase.service (httpjspbase.java:109) en javax.servlet.http.httpservletlet.service (httpservlet.java:717) en org.apache.jasper.servlet.jspservletwrapper.service (jspservletwrapper.java:389) en org.apache.jasper.servlet.jspservlet.servicejspFile (jspservlet.java:486) en org.apache.jasper.servlet.jspservlet.service (jspservlet.java:380) en javax.servlet.http.httpservletlet.service (httpservlet.java:717) en org.eclipse.jetty.servlet.servletholder.handle (servleetholder.java:547) en org.eclipse.jetty.servlet.servlethandler.dohandle (servleethandler.java:481) en org.eclipse.jetty.server.handler.scopedHandler.Handle (ScopedHandler.Java :119) en org.eclipse.jetty.security.securityhandler.handle (SecurityHandler.Java:520) en org.eclipse.jetty.server.session.sessionhandler.dohandle (sessionhandler.java:227) en org.eclipse.jetty.server.handler.contexthandler.dohandle (contexthandler.java:940) en org.eclipse.jetty.servlet.servlethandler.doscope (servleethandler.java:409) en org.eclipse.jetty.server.session.sessionhandler.doscope (SessionHandler.Java :186) en org.eclipse.jetty.server.handler.contexthandler.doscope (contexthandler.java:874) en org.eclipse.Jetty.Server.Handler.ScopedHandler.Handle (ScopedHandler.Java :117) en org.eclipse.Jetty.Server.Handler.Handlercollection.handle (Handlercollection.Java:149) en org.eclipse.Jetty.Server.Handler.Handlerwrapper.Handle (Handlerwrapper.Java:110) en org.eclipse.Jetty.server.server.Handle (Server.Java:349) en org.eclipse.jetty.server.httpconnection.handleRequest (httpconnection.java:441) en org.eclipse.jetty.server.httpconnection $ SolicitudHandler.HEADERCOMPLETE (httpconnection.java:904) en org.eclipse.jetty.http.httpparser.parsext (httpparser.java:565) en org.eclipse.jetty.http.httpparser.parseApable (httpparser.java:217) en org.eclipse.jetty.server.asynchttpconnection.handle (asynchttpconnection.java:46) en org.eclipse.jetty.io.nio.selectchannelendpoint.handle (selectchannelendpoint.java:545) en org.eclipse.jetty.io.nio.selectchannelendpoint $ 1.run (selectchannelendpoint.java:43) en org.eclipse.jetty.util.thread.queuedthreadpepool.runjob (queuedthreadpool.java:598) en org.eclipse.jetty.util.thread.queuedthreadpepool $ 3.run (queuedthreadpool.java:533) en java.lang.thread.run (hilo.java:662)
aquí es mi web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 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_3_0.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
Solución
Por lo general, ese error es cuando hay varias versiones de esa clase disponibles, asegúrese de no tener varias versiones de frascos con esa clase en su aplicación, o que el servidor de aplicaciones no le está dando una versión y su webappestá envasando otra versión.