java.lang.NoClassDefFoundError: javax/faces/model/SelectItem

Я получаю следующую трассировку исключения, когда запускаю веб-приложение, развернутое на веб-сервере Jety. Похоже, мне не хватает файла jar. Кто-нибудь может сказать мне, что случилось?

ОШИБКА HTTP 500

Проблема с доступом к /PMCounters/default.jsp. Причина:

javax/faces/model/SelectItem

Вызванный:

ЗДЕСЬ мой WEB.XML:

Обычно эта ошибка возникает, когда доступно несколько версий этого класса, убедитесь, что в вашем приложении нет нескольких версий jar-файлов с этим классом, или что сервер приложений не предоставляет вам одну версию, а ваше веб-приложение упаковывает другую. версия.

   <?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>


person F. Aydemir    schedule 21.05.2012    source источник
comment
вы поместили файлы jsf jar в каталог lib?   -  person Rizstien    schedule 21.05.2012
comment
да, все файлы jsf jar на месте, а именно: com-sun-commons-beanutils.jar   -  person Muhammad Saifuddin    schedule 21.05.2012
comment
Я добавил свой файл web.xml выше.   -  person F. Aydemir    schedule 21.05.2012
comment
Ниже я перечислил файлы jar как в каталоге WEB-INF/lib приложения, так и в каталоге /opt/opennms/jetty-webapps/lib/ext/jsf. Я удалил их из WEB-INF/lib, но это все равно не работает. Есть ли что-то еще, что вы можете предложить? Спасибо. com-sun-commons-beanutils.jar, com-sun-commons-collections.jar, com-sun-commons-digester.jar, jsf-api.jar, jsf-impl.jar.   -  person F. Aydemir    schedule 21.05.2012


Ответы (1)


Ваш .jsp правильно сопоставлен?

person jesse mcconnell    schedule 22.05.2012
comment
возможно, вы распаковываете военный файл и каждый раз возвращаете эти файлы? - person F. Aydemir; 22.05.2012
comment
Я снова и снова убеждался, что у меня нет этих файлов jar, но проблема все еще есть. Любая помощь будет высоко ценится. - person jesse mcconnell; 22.05.2012
comment
Я удалил все эти файлы jar отовсюду. Все еще есть проблема. - person F. Aydemir; 22.05.2012
comment
В журнале jetty.log есть следующее: 2012-05-22 14:23:04,994 WARN [qtp522201969-376] ServletHandler: /PMCounters/default.jsp java.lang.NoClassDefFoundError: javax/faces/model/SelectItem at com. ericsson.dae.pm.dao.VirtualDaeConfigTableDAO.‹init›(VirtualDaeConfigTableDAO.java:41) в org.apache.jsp.default_jsp._jspService(org.apache.jsp.default_jsp:162) - person F. Aydemir; 22.05.2012
comment
если вы получаете ту же ошибку, то у вас все еще есть несколько версий этого класса, доступных для рассматриваемого загрузчика классов, следующим шагом будет открытие ваших банок один за другим и поиск реализации, которая цепляется за поездку. вы можете использовать search.maven.org, чтобы найти банки, в которых есть этот класс: search.maven.org/ - person F. Aydemir; 22.05.2012
comment
Я искал всю файловую систему веб-сервера Jetty, чтобы найти один экземпляр этих файлов. Ни один из них нигде не присутствует. - person jesse mcconnell; 22.05.2012
comment
вы неправильно понимаете, есть ряд других файлов jar, в которых могут быть эти классы, например, myfaces-api.jar также объединяет эти классы, как я полагаю. вы получаете еще одну копию откуда-то, просто нужно ее найти :) - person F. Aydemir; 22.05.2012
comment
Я удалил использование упомянутого кровавого класса из своей реализации, и теперь он работает. - person jesse mcconnell; 22.05.2012
comment
java.lang.NoClassDefFoundError: javax/faces/model/SelectItem в com.ericsson.dae.pm.dao.VirtualConfigTableDAO.(VirtualDaeConfigTableDAO.java:41) в org.apache.jsp.default_jsp._jspService(org.apache.jsp. default_jsp:162) в org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109) в javax.servlet.http.HttpServlet.service(HttpServlet.java:717) в org.apache.jasper.servlet.JspServletWrapper .service(JspServletWrapper.java:389) в org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486) в org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380) в javax. servlet.http.HttpServlet.service(HttpServlet.java:717) в org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547) в org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java: 481) в org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) в org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java :520) в org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) в org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:940) в org.eclipse. jetty.servlet.ServletHandler.doScope(ServletHandler.java:409) в org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186) в org.eclipse.jetty.server.handler.ContextHandler.doScope( ContextHandler.java:874) в org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) в org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149) в org. .eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) в org.eclipse.jetty.server.Server.handle(Server.java:349) в org.eclipse.jetty.server.HttpConnection.handleRequest (HttpConnection.java:441) в org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:904) в org.eclipse.jetty.http.HttpParser.pa rseNext(HttpParser.java:565) в org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217) в org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46) в org.eclipse .jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545) в org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43) в org.eclipse.jetty.util.thread. QueuedThreadPool.runJob(QueuedThreadPool.java:598) в org.eclipse.jetty.util.thread. QueuedThreadPool$3.run(QueuedThreadPool.java:533) на java.lang.Thread.run(Thread.java:662) - person F. Aydemir; 23.05.2012