spring mvc - Websphere Liberty - JSP custom tag not working -
i have developed spring mvc application , works fine on glassfish , jetty. need deploy application on websphere liberty version 8.5.5.7. largely works well, pages fail load following exception (see below).
common these pages use custom tag generates template page.an example of such page this:
<%@page contenttype="text/html" pageencoding="utf-8" %> <%@taglib prefix="t" tagdir="/web-inf/tags" %> <t:genericadminpage> <jsp:body> </jsp:body> </t:genericadminpage>
in attempt fix issue switched scope of included jstl libraries in pom.xml
provided
, solved issue of pages, introduced others.
hopefully has inkling of going on here , can shed light on it. if need more information, please ask.
thank in advance.
the exception shown this:
[9/30/15 15:42:21:975 ist] 00000165 com.ibm.ws.webcontainer.util.applicationerrorutils e srve0777e: exception thrown application class 'org.springframework.web.servlet.frameworkservlet.processrequest:978' org.springframework.web.util.nestedservletexception: request processing failed; nested exception java.lang.classcastexception: com.ibm.ws.jsp.tagfile.webinf._genericpage incompatible com.ibm.ws.jsp.tagfile.webinf._genericpage @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:978) @ org.springframework.web.servlet.frameworkservlet.doget(frameworkservlet.java:857) @ javax.servlet.http.httpservlet.service(httpservlet.java:687) @ org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:842) @ javax.servlet.http.httpservlet.service(httpservlet.java:790) @ com.ibm.ws.webcontainer.servlet.servletwrapper.service(servletwrapper.java:1287) @ com.ibm.ws.webcontainer.servlet.servletwrapper.handlerequest(servletwrapper.java:778) @ com.ibm.ws.webcontainer.servlet.servletwrapper.handlerequest(servletwrapper.java:475) @ com.ibm.ws.webcontainer.filter.webappfilterchain.invoketarget(webappfilterchain.java:146) @ com.ibm.ws.webcontainer.filter.webappfilterchain.dofilter(webappfilterchain.java:93) @ com.ibm.ws.security.jaspi.jaspiservletfilter.dofilter(jaspiservletfilter.java:57) @ com.ibm.ws.webcontainer.filter.filterinstancewrapper.dofilter(filterinstancewrapper.java:207) @ com.ibm.ws.webcontainer.filter.webappfilterchain.dofilter(webappfilterchain.java:90) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.invoke(filtersecurityinterceptor.java:118) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.dofilter(filtersecurityinterceptor.java:84) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.access.exceptiontranslationfilter.dofilter(exceptiontranslationfilter.java:113) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.session.sessionmanagementfilter.dofilter(sessionmanagementfilter.java:103) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.authentication.anonymousauthenticationfilter.dofilter(anonymousauthenticationfilter.java:113) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.servletapi.securitycontextholderawarerequestfilter.dofilter(securitycontextholderawarerequestfilter.java:154) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.savedrequest.requestcacheawarefilter.dofilter(requestcacheawarefilter.java:45) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.authentication.logout.logoutfilter.dofilter(logoutfilter.java:110) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.header.headerwriterfilter.dofilterinternal(headerwriterfilter.java:57) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.context.securitycontextpersistencefilter.dofilter(securitycontextpersistencefilter.java:87) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.context.request.async.webasyncmanagerintegrationfilter.dofilterinternal(webasyncmanagerintegrationfilter.java:50) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:342) @ org.springframework.security.web.filterchainproxy.dofilterinternal(filterchainproxy.java:192) @ org.springframework.security.web.filterchainproxy.dofilter(filterchainproxy.java:160) @ org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy.java:344) @ org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy.java:261) @ com.ibm.ws.webcontainer.filter.filterinstancewrapper.dofilter(filterinstancewrapper.java:207) @ com.ibm.ws.webcontainer.filter.webappfilterchain.dofilter(webappfilterchain.java:90) @ com.ibm.ws.webcontainer.filter.webappfiltermanager.dofilter(webappfiltermanager.java:1020) @ com.ibm.ws.webcontainer.filter.webappfiltermanager.invokefilters(webappfiltermanager.java:1142) @ com.ibm.ws.webcontainer.servlet.cacheservletwrapper.handlerequest(cacheservletwrapper.java:81) @ com.ibm.ws.webcontainer.webcontainer.handlerequest(webcontainer.java:928) @ com.ibm.ws.webcontainer.osgi.dynamicvirtualhost$2.run(dynamicvirtualhost.java:262) @ com.ibm.ws.http.dispatcher.internal.channel.httpdispatcherlink$taskwrapper.run(httpdispatcherlink.java:955) @ com.ibm.ws.http.dispatcher.internal.channel.httpdispatcherlink.ready(httpdispatcherlink.java:341) @ com.ibm.ws.http.channel.internal.inbound.httpinboundlink.handlediscrimination(httpinboundlink.java:470) @ com.ibm.ws.http.channel.internal.inbound.httpinboundlink.handlenewrequest(httpinboundlink.java:404) @ com.ibm.ws.http.channel.internal.inbound.httpinboundlink.processrequest(httpinboundlink.java:284) @ com.ibm.ws.http.channel.internal.inbound.httpinboundlink.ready(httpinboundlink.java:255) @ com.ibm.ws.tcpchannel.internal.newconnectioninitialreadcallback.sendtodiscriminators(newconnectioninitialreadcallback.java:174) @ com.ibm.ws.tcpchannel.internal.newconnectioninitialreadcallback.complete(newconnectioninitialreadcallback.java:83) @ com.ibm.ws.tcpchannel.internal.workqueuemanager.requestcomplete(workqueuemanager.java:504) @ com.ibm.ws.tcpchannel.internal.workqueuemanager.attemptio(workqueuemanager.java:574) @ com.ibm.ws.tcpchannel.internal.workqueuemanager.workerrun(workqueuemanager.java:929) @ com.ibm.ws.tcpchannel.internal.workqueuemanager$worker.run(workqueuemanager.java:1018) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1157) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:627) @ java.lang.thread.run(thread.java:798) caused by: java.lang.classcastexception: com.ibm.ws.jsp.tagfile.webinf._genericpage incompatible com.ibm.ws.jsp.tagfile.webinf._genericpage @ com.ibm._jsp._home._jspx_meth_t_genericpage_0(_home.java:261) @ com.ibm._jsp._home._jspservice(_home.java:112) @ com.ibm.ws.jsp.runtime.httpjspbase.service(httpjspbase.java:101) @ javax.servlet.http.httpservlet.service(httpservlet.java:790) @ com.ibm.ws.webcontainer.servlet.servletwrapper.service(servletwrapper.java:1287) @ com.ibm.ws.webcontainer.servlet.servletwrapper.handlerequest(servletwrapper.java:778) @ com.ibm.ws.webcontainer.servlet.servletwrapper.handlerequest(servletwrapper.java:475) @ com.ibm.wsspi.webcontainer.servlet.genericservletwrapper.handlerequest(genericservletwrapper.java:119) @ com.ibm.ws.jsp.webcontainerext.abstractjspextensionservletwrapper.handlerequest(abstractjspextensionservletwrapper.java:217) @ com.ibm.ws.webcontainer.filter.webappfilterchain.invoketarget(webappfilterchain.java:146) @ com.ibm.ws.webcontainer.filter.webappfilterchain.dofilter(webappfilterchain.java:93) @ com.ibm.ws.security.jaspi.jaspiservletfilter.dofilter(jaspiservletfilter.java:57) @ com.ibm.ws.webcontainer.filter.filterinstancewrapper.dofilter(filterinstancewrapper.java:207) @ com.ibm.ws.webcontainer.filter.webappfilterchain.dofilter(webappfilterchain.java:90) @ com.ibm.ws.webcontainer.filter.webappfiltermanager.dofilter(webappfiltermanager.java:1020) @ com.ibm.ws.webcontainer.filter.webappfiltermanager.invokefilters(webappfiltermanager.java:1142) @ com.ibm.ws.webcontainer.webapp.webapprequestdispatcher.dispatch(webapprequestdispatcher.java:1378) @ com.ibm.ws.webcontainer.webapp.webapprequestdispatcher.forward(webapprequestdispatcher.java:186) @ org.springframework.web.servlet.view.internalresourceview.rendermergedoutputmodel(internalresourceview.java:168) @ org.springframework.web.servlet.view.abstractview.render(abstractview.java:303) @ org.springframework.web.servlet.dispatcherservlet.render(dispatcherservlet.java:1228) @ org.springframework.web.servlet.dispatcherservlet.processdispatchresult(dispatcherservlet.java:1011) @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:955) @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:877) @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:966) ... 62 more
if attempting use jstl libraries shipped in websphere application server recommend removing jstl.jar , standard.jar files application. based on exception seems runtime getting confused generated tag class file. potentially caused 2 different jstl jars on classpath. clear out compiled tag class files generated ensure new ones created jar files removed.
if not solve issue please provide more detail on contents of custom tag. regards, jay
Comments
Post a Comment