Исключение при трансляции тега Liferay Portlet Taglib

Вот трассировка стека, которую я получаю при попытке запустить портлет в Liferay Portal 6.0.6.

Кто-нибудь знает, что происходит?

12:40:00,146 ERROR [PortletServlet:96] javax.portlet.PortletException: javax.servlet.ServletException: javax.servlet.jsp
  .JspException: com.liferay.taglib.aui.LayoutTag cannot be cast to javax.servlet.jsp.tagext.Tag
  javax.portlet.PortletException: javax.servlet.ServletException: javax.servlet.jsp.JspException: com.liferay.taglib.aui.L
  ayoutTag cannot be cast to javax.servlet.jsp.tagext.Tag
    at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:110)
    at org.springframework.web.portlet.DispatcherPortlet.doRender(DispatcherPortlet.java:1137)
    at org.springframework.web.portlet.DispatcherPortlet.render(DispatcherPortlet.java:1092)
    at org.springframework.web.portlet.DispatcherPortlet.doRenderService(DispatcherPortlet.java:755)
    at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:522)
    at org.springframework.web.portlet.FrameworkPortlet.doDispatch(FrameworkPortlet.java:470)
    at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
    at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:101)
    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
    at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:92)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:638)
    at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:723)
    at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:425)
    at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1440)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:3740)
    at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1180)
    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:160)
    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:94)
    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:256)
    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:181)
    at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(portlet_jsp.java:821)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:370)
    at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:629)
    at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:232)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:153)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:508)

person Christopher    schedule 02.09.2011    source источник
comment
Что вы делали, чтобы получить этот сексуальный кусок трассировки стека?   -  person rp.    schedule 02.09.2011
comment
Развертывание и запуск портлета (Spring MVC) ...   -  person Christopher    schedule 05.09.2011


Ответы (2)


Такие трассировки стека обычно возникают из-за того, что классы дважды находятся в пути к классам. Я даже однажды видел "com.something.SomeClass не может быть преобразован в java.lang.Object" - когда кому-то удалось получить два rt.jar в пути к классам одновременно (древняя история).

Проверьте api сервлета или jsp api, их не должно быть в вашем веб-приложении, а только в глобальном пути к классам, который tomcat (который, похоже, вы используете) приносит с собой. Если это не так, проверьте любые другие jar-файлы, содержащие классы, которые также содержатся в глобальном пути к классам.

И на основе устранения неполадок java.lang.AbstractMethodError при разработке портлетов у вас действительно есть некоторые проблемы с путями к классам.

person Olaf Kock    schedule 02.09.2011
comment
Если я удалю упомянутые банки из каталога lib моего веб-приложения, я вообще не смогу запустить его - person Christopher; 05.09.2011
comment
Я получаю: 09:10:31,820 ERROR [jsp:154] org.apache.jasper.JasperException: /WEB-INF/jsp/main.jsp(7,0) The absolute uri: http://java .sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application - person Christopher; 05.09.2011
comment
Можете ли вы добавить раздел taglib вашего web.xml, а также список вашей папки WEB-INF / lib и папки tomcat / lib (если вы что-то там изменили) к своему вопросу? У вас определенно есть проблемы с путями к классам, но трудно помочь более явно, не зная более подробной информации. - person Olaf Kock; 06.09.2011

Проблема решена. Как указано выше, проблема заключалась в 100% -ном пути к классам. Хотя я просканировал все каталоги с помощью jarscan, я не смог найти никаких дубликатов ... Оказалось, что мой коллега использовал много ненужных JAR в своей части, которые без необходимости были добавлены в мою WAR.

Теперь работает!

Спасибо вам всем ;-)

person Christopher    schedule 08.09.2011