DXP 2026.q1 on Wildfly - jasper ClassCastException

Hello!

We are trying to run DXP 2026.q1 on Wildfly with clean installation.
Homepage opens without errors, but when I login, ClassCastException shows at logs and there are no sidebar product menu.

2026-04-24 10:54:09.966 ERROR [default task-7][DynamicIncludeUtil:67] class org.apache.jasper.runtime.JspApplicationContextImpl cannot be cast to class org.apache.jasper.runtime.JspApplicationContextImpl (org.apache.jasper.runtime.JspApplicationContextImpl is in unnamed module of loader 'io.undertow.jsp@2.2.6.Final' @1d875345; org.apache.jasper.runtime.JspApplicationContextImpl is in unnamed module of loader com.liferay.shielded.container.internal.ShieldedContainerClassLoader @22ca8ff3)
java.lang.ClassCastException: class org.apache.jasper.runtime.JspApplicationContextImpl cannot be cast to class org.apache.jasper.runtime.JspApplicationContextImpl (org.apache.jasper.runtime.JspApplicationContextImpl is in unnamed module of loader 'io.undertow.jsp@2.2.6.Final' @1d875345; org.apache.jasper.runtime.JspApplicationContextImpl is in unnamed module of loader com.liferay.shielded.container.internal.ShieldedContainerClassLoader @22ca8ff3)
	at org.apache.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:71) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:125) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:102) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:51) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at com.liferay.taglib.servlet.PageContextFactoryUtil.create(PageContextFactoryUtil.java:54) ~[util-taglib.jar:?]
	at com.liferay.product.navigation.product.menu.web.internal.servlet.taglib.ProductMenuBodyTopDynamicInclude.include(ProductMenuBodyTopDynamicInclude.java:75) ~[?:?]
full log error
2026-04-24 10:54:09.966 ERROR [default task-7][DynamicIncludeUtil:67] class org.apache.jasper.runtime.JspApplicationContextImpl cannot be cast to class org.apache.jasper.runtime.JspApplicationContextImpl (org.apache.jasper.runtime.JspApplicationContextImpl is in unnamed module of loader 'io.undertow.jsp@2.2.6.Final' @1d875345; org.apache.jasper.runtime.JspApplicationContextImpl is in unnamed module of loader com.liferay.shielded.container.internal.ShieldedContainerClassLoader @22ca8ff3)
java.lang.ClassCastException: class org.apache.jasper.runtime.JspApplicationContextImpl cannot be cast to class org.apache.jasper.runtime.JspApplicationContextImpl (org.apache.jasper.runtime.JspApplicationContextImpl is in unnamed module of loader 'io.undertow.jsp@2.2.6.Final' @1d875345; org.apache.jasper.runtime.JspApplicationContextImpl is in unnamed module of loader com.liferay.shielded.container.internal.ShieldedContainerClassLoader @22ca8ff3)
	at org.apache.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:71) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:125) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:102) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:51) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at com.liferay.taglib.servlet.PageContextFactoryUtil.create(PageContextFactoryUtil.java:54) ~[util-taglib.jar:?]
	at com.liferay.product.navigation.product.menu.web.internal.servlet.taglib.ProductMenuBodyTopDynamicInclude.include(ProductMenuBodyTopDynamicInclude.java:75) ~[?:?]
	at com.liferay.portal.kernel.servlet.taglib.DynamicIncludeUtil.include(DynamicIncludeUtil.java:63) ~[portal-kernel.jar:?]
	at com.liferay.taglib.util.DynamicIncludeTag.doEndTag(DynamicIncludeTag.java:23) ~[util-taglib.jar:?]
	at org.apache.jsp.html.common.themes.body_005ftop_jsp._jspx_meth_liferay_002dutil_005fdynamic_002dinclude_005f0(body_005ftop_jsp.java:1093) ~[?:?]
	at org.apache.jsp.html.common.themes.body_005ftop_jsp._jspService(body_005ftop_jsp.java:1039) ~[?:?]
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:62) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) ~[jakarta.servlet-api-6.0.0.jar!/:6.0.0]
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:350) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:301) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) ~[jakarta.servlet-api-6.0.0.jar!/:6.0.0]
	at com.liferay.portal.jsp.engine.internal.JSPEngineShieldedContainerInitializer$2.doFilter(JSPEngineShieldedContainerInitializer.java:173) ~[com.liferay.portal.jsp.engine.jar:?]
	at com.liferay.shielded.container.internal.proxy.FilterWrapper.doFilter(FilterWrapper.java:69) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:114) ~[portal-kernel.jar:?]
	at com.liferay.shielded.container.internal.proxy.FilterWrapper.doFilter(FilterWrapper.java:69) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32) ~[jastow-2.2.6.Final.jar!/:2.2.6.Final]
	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:258) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchToServlet(ServletInitialHandler.java:193) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.includeImpl(RequestDispatcherImpl.java:337) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.setupIncludeImpl(RequestDispatcherImpl.java:285) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.include(RequestDispatcherImpl.java:249) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at com.liferay.portal.kernel.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:57) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.DirectRequestDispatcherFactoryUtil$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryUtil.java:169) ~[portal-kernel.jar:?]
	at com.liferay.taglib.util.IncludeTag.includePage(IncludeTag.java:400) ~[util-taglib.jar:?]
	at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:375) ~[util-taglib.jar:?]
	at com.liferay.taglib.util.IncludeTag.doInclude(IncludeTag.java:208) ~[util-taglib.jar:?]
	at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:79) ~[util-taglib.jar:?]
	at freemarker.ext.jakarta.jsp.TagTransformModel$TagWriter.endEvaluation(TagTransformModel.java:385) ~[?:?]
	at freemarker.ext.jakarta.jsp.TagTransformModel$TagWriter.afterBody(TagTransformModel.java:373) ~[?:?]
	at freemarker.core.Environment.visitAndTransform(Environment.java:512) ~[?:?]
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:103) ~[?:?]
	at freemarker.core.Environment.visit(Environment.java:344) ~[?:?]
	at freemarker.core.Environment.visit(Environment.java:350) ~[?:?]
	at freemarker.core.Environment.process(Environment.java:323) ~[?:?]
	at freemarker.template.Template.process(Template.java:383) ~[?:?]
	at com.liferay.portal.template.freemarker.internal.FreeMarkerTemplate.lambda$processTemplate$0(FreeMarkerTemplate.java:149) ~[?:?]
	at com.liferay.portal.template.freemarker.internal.FreeMarkerManager.render(FreeMarkerManager.java:342) ~[?:?]
	at com.liferay.portal.template.freemarker.internal.FreeMarkerTemplate.processTemplate(FreeMarkerTemplate.java:136) ~[?:?]
	at com.liferay.portal.template.engine.BaseTemplate.processTemplate(BaseTemplate.java:117) ~[?:?]
	at com.liferay.portal.kernel.theme.ThemeUtil.doIncludeFTL(ThemeUtil.java:199) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.theme.ThemeUtil.include(ThemeUtil.java:95) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.theme.ThemeUtil.include(ThemeUtil.java:67) ~[portal-kernel.jar:?]
	at com.liferay.taglib.theme.IncludeTag.doEndTag(IncludeTag.java:28) ~[util-taglib.jar:?]
	at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_liferay_002dtheme_005finclude_005f1(portal_jsp.java:714) ~[?:?]
	at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_c_005fotherwise_005f0(portal_jsp.java:683) ~[?:?]
	at org.apache.jsp.html.common.themes.portal_jsp._jspService(portal_jsp.java:602) ~[?:?]
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:62) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) ~[jakarta.servlet-api-6.0.0.jar!/:6.0.0]
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:350) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:301) ~[org.apache.tomcat-jasper.jar:10.1.52]
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) ~[jakarta.servlet-api-6.0.0.jar!/:6.0.0]
	at com.liferay.portal.jsp.engine.internal.JSPEngineShieldedContainerInitializer$2.doFilter(JSPEngineShieldedContainerInitializer.java:173) ~[com.liferay.portal.jsp.engine.jar:?]
	at com.liferay.shielded.container.internal.proxy.FilterWrapper.doFilter(FilterWrapper.java:69) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:152) ~[portal-kernel.jar:?]
	at com.liferay.change.tracking.internal.servlet.filter.CTCollectionPreviewFilter.processFilter(CTCollectionPreviewFilter.java:57) ~[?:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:47) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.lockout.LockoutFilter.processFilter(LockoutFilter.java:49) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:114) ~[portal-kernel.jar:?]
	at com.liferay.shielded.container.internal.proxy.FilterWrapper.doFilter(FilterWrapper.java:69) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32) ~[jastow-2.2.6.Final.jar!/:2.2.6.Final]
	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:258) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchToPath(ServletInitialHandler.java:183) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImpl(RequestDispatcherImpl.java:188) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImplSetup(RequestDispatcherImpl.java:136) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:99) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at com.liferay.portal.kernel.servlet.DirectServletPathRegisterDispatcher.forward(DirectServletPathRegisterDispatcher.java:36) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.DirectRequestDispatcherFactoryUtil$IndirectRequestDispatcher.forward(DirectRequestDispatcherFactoryUtil.java:151) ~[portal-kernel.jar:?]
	at com.liferay.portal.struts.StrutsUtil.forward(StrutsUtil.java:60) ~[portal-impl.jar:?]
	at com.liferay.portal.struts.PortalRequestProcessor._internalModuleRelativeForward(PortalRequestProcessor.java:360) ~[portal-impl.jar:?]
	at com.liferay.portal.struts.PortalRequestProcessor._process(PortalRequestProcessor.java:412) ~[portal-impl.jar:?]
	at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:174) ~[portal-impl.jar:?]
	at com.liferay.portal.internal.servlet.MainServlet.doGet(MainServlet.java:193) ~[portal-impl.jar:?]
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527) ~[jakarta.servlet-api-6.0.0.jar!/:6.0.0]
	at com.liferay.portal.internal.servlet.MainServlet.service(MainServlet.java:580) ~[portal-impl.jar:?]
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) ~[jakarta.servlet-api-6.0.0.jar!/:6.0.0]
	at com.liferay.shielded.container.internal.proxy.ServletWrapper.service(ServletWrapper.java:103) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:152) ~[portal-kernel.jar:?]
	at com.liferay.change.tracking.internal.servlet.filter.CTCollectionPreviewFilter.processFilter(CTCollectionPreviewFilter.java:57) ~[?:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:47) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.lockout.LockoutFilter.processFilter(LockoutFilter.java:49) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:152) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:343) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:114) ~[portal-kernel.jar:?]
	at com.liferay.shielded.container.internal.proxy.FilterWrapper.doFilter(FilterWrapper.java:69) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:258) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchToPath(ServletInitialHandler.java:183) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImpl(RequestDispatcherImpl.java:188) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImplSetup(RequestDispatcherImpl.java:136) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:99) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at com.liferay.friendly.url.internal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:671) ~[?:?]
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) ~[jakarta.servlet-api-6.0.0.jar!/:6.0.0]
	at com.liferay.portal.servlet.ServletAdapter.service(ServletAdapter.java:89) ~[portal-impl.jar:?]
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) ~[jakarta.servlet-api-6.0.0.jar!/:6.0.0]
	at com.liferay.shielded.container.internal.proxy.ServletWrapper.service(ServletWrapper.java:103) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:152) ~[portal-kernel.jar:?]
	at com.liferay.change.tracking.internal.servlet.filter.CTCollectionPreviewFilter.processFilter(CTCollectionPreviewFilter.java:57) ~[?:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:152) ~[portal-kernel.jar:?]
	at com.liferay.portal.i18n.filter.internal.I18nFilter.processFilter(I18nFilter.java:401) ~[?:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:47) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.lockout.LockoutFilter.processFilter(LockoutFilter.java:49) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:152) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:343) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:152) ~[portal-kernel.jar:?]
	at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:258) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:114) ~[portal-kernel.jar:?]
	at com.liferay.shielded.container.internal.proxy.FilterWrapper.doFilter(FilterWrapper.java:69) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:258) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchToPath(ServletInitialHandler.java:183) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImpl(RequestDispatcherImpl.java:188) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImplSetup(RequestDispatcherImpl.java:136) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.spec.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:99) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:385) ~[portal-impl.jar:?]
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:42) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:189) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:189) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:189) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:189) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) ~[portal-kernel.jar:?]
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:114) ~[portal-kernel.jar:?]
	at com.liferay.shielded.container.internal.proxy.FilterWrapper.doFilter(FilterWrapper.java:69) ~[com.liferay.shielded.container.impl.jar:?]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:51) ~[?:?]
	at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:276) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:132) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1413) ~[?:?]
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1413) ~[?:?]
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1413) ~[?:?]
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1413) ~[?:?]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:256) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:101) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:393) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final]
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final]
	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) ~[?:?]
	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990) ~[?:?]
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) ~[?:?]
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377) ~[?:?]
	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) ~[?:?]
	at java.lang.Thread.run(Thread.java:1583) [?:?]

It seems there are two classes JspApplicationContextImpl found:

  • at wildfly module: \modules\system\layers\base\io\undertow\jsp\main\jastow-2.2.7.Final.jar
  • at ROOT.war: ROOT.war\WEB-INF\shielded-container-lib\org.apache.tomcat-jasper.jar

We are tried:

  • Remove library from ROOT.war causes NoClassDefFoundError: org/apache/jasper/servlet/JasperInitializer.
  • Add module-exclusion to ROOT.war\WEB-INF\jboss-deployment-structure.xml causes no effect.
  • Custom build artifacts with app.server.type=wildfly also causes no effect.

What else can we try?

Trying at DXP 2026.q1.0-lts, 2026.q1.5-lts, Wildfly 30 and 31.

Previously all works fine at CE 7.4.3-132 and Wildfly 26 (there are .jars was too).

2 Answers

2

Can you try disabling the Wildfly jsp-config in standalone.xml?

           <servlet-container name="default">

                <!-- <jsp-config/> -->

                <websockets/>

            </servlet-container>

This will disable JSP support for undertow servlet container as Liferay has provided it already, there is a conflict.

Yes! It works! Thank you!

Some weirdness with documentation:

  • There is nothing about “jsp-config” in official manual installing-on-wildfly
  • Previously it configured as development=“true” and 1.8 (haha) with another kb-article