当我尝试将我的 grails 应用程序部署到 WebSphere 8.5 liberty 配置文件服务器时,我收到以下错误消息。
Error Message: javax.servlet.ServletException: Filter [sitemesh]: could not be initialized
我已经为我的应用程序设置了一个父类最后一个类加载策略。相同的war文件部署到位于同一服务器上的tomcat没有问题。关于可能导致此问题的原因以及如何解决此问题的任何想法?我在下面粘贴了完整的堆栈跟踪。
错误页面异常
SRVE0260E: 服务器无法使用为您的应用程序指定的错误页面来处理下面打印的原始异常。
原始例外:
错误消息:javax.servlet.ServletException:过滤器 [sitemesh]:无法初始化
错误代码:500
目标 Servlet:com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor
错误堆栈:
com.opensymphony.module.sitemesh.factory.FactoryException:无法初始化DecoratorMapper:org.codehaus.groovy.grails.web.sitemesh.GrailsLayoutDecoratorMapper:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义名为“groovyPageLayoutFinder”的bean
在 com.opensymphony.module.sitemesh.factory.BaseFactory.pushDecoratorMapper(BaseFactory.java:117)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.loadDecoratorMappers(Grails5535Factory.java:231)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.loadConfig(Grails5535Factory.java:98)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.(Grails5535Factory.java:66)
在 org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.init(GrailsPageFilter.java:83)
在 com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.init(FilterInstanceWrapper.java:142)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:579)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:480)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:299)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:372)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:903)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1036)
在 com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4173)
在 com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:302)
在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.handleRequest(DynamicVirtualHost.java:296)
在 com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1006)
在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$1.run(DynamicVirtualHost.java:253)
在 com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:457)
在 com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:398)
在 com.ibm.ws.threading.internal.Worker.run(Worker.java:380)
在 java.lang.Thread.run(Thread.java:722)
根本原因:
org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义名为“groovyPageLayoutFinder”的bean
在 org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:553)
在 org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095)
在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277)
在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
在 org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1102)
在 org.codehaus.groovy.grails.web.sitemesh.GrailsLayoutDecoratorMapper.init(GrailsLayoutDecoratorMapper.java:48)
在 com.opensymphony.module.sitemesh.factory.BaseFactory.pushDecoratorMapper(BaseFactory.java:110)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.loadDecoratorMappers(Grails5535Factory.java:231)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.loadConfig(Grails5535Factory.java:98)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.(Grails5535Factory.java:66)
在 org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.init(GrailsPageFilter.java:83)
在 com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.init(FilterInstanceWrapper.java:142)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:579)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:480)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:299)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:372)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:903)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1036)
在 com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4173)
在 com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:302)
在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.handleRequest(DynamicVirtualHost.java:296)
在 com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1006)
在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$1.run(DynamicVirtualHost.java:253)
在 com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:457)
在 com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:398)
在 com.ibm.ws.threading.internal.Worker.run(Worker.java:380)
在 java.lang.Thread.run(Thread.java:722)
错误页面异常:
错误消息:javax.servlet.ServletException:过滤器 [sitemesh]:无法初始化
错误代码:0
目标小服务程序:
错误堆栈:
com.opensymphony.module.sitemesh.factory.FactoryException:无法初始化DecoratorMapper:org.codehaus.groovy.grails.web.sitemesh.GrailsLayoutDecoratorMapper:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义名为“groovyPageLayoutFinder”的bean
在 com.opensymphony.module.sitemesh.factory.BaseFactory.pushDecoratorMapper(BaseFactory.java:117)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.loadDecoratorMappers(Grails5535Factory.java:231)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.loadConfig(Grails5535Factory.java:98)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.(Grails5535Factory.java:66)
在 org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.init(GrailsPageFilter.java:83)
在 com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.init(FilterInstanceWrapper.java:142)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:579)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:480)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:299)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:372)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:906)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1036)
在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1383)
在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:191)
在 com.ibm.ws.webcontainer.webapp.WebApp.sendError(WebApp.java:3650)
在 com.ibm.ws.webcontainer.webapp.WebApp.handleException(WebApp.java:4203)
在 com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4184)
在 com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:302)
在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.handleRequest(DynamicVirtualHost.java:296)
在 com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1006)
在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$1.run(DynamicVirtualHost.java:253)
在 com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:457)
在 com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:398)
在 com.ibm.ws.threading.internal.Worker.run(Worker.java:380)
在 java.lang.Thread.run(Thread.java:722)
根本原因:
org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义名为“groovyPageLayoutFinder”的bean
在 org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:553)
在 org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095)
在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277)
在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
在 org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1102)
在 org.codehaus.groovy.grails.web.sitemesh.GrailsLayoutDecoratorMapper.init(GrailsLayoutDecoratorMapper.java:48)
在 com.opensymphony.module.sitemesh.factory.BaseFactory.pushDecoratorMapper(BaseFactory.java:110)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.loadDecoratorMappers(Grails5535Factory.java:231)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.loadConfig(Grails5535Factory.java:98)
在 org.codehaus.groovy.grails.web.sitemesh.Grails5535Factory.(Grails5535Factory.java:66)
在 org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.init(GrailsPageFilter.java:83)
在 com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.init(FilterInstanceWrapper.java:142)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:579)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:480)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:299)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:372)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:906)
在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1036)
在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1383)
在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:191)
在 com.ibm.ws.webcontainer.webapp.WebApp.sendError(WebApp.java:3650)
在 com.ibm.ws.webcontainer.webapp.WebApp.handleException(WebApp.java:4203)
在 com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4184)
在 com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:302)
在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.handleRequest(DynamicVirtualHost.java:296)
在 com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1006)
在 com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$1.run(DynamicVirtualHost.java:253)
在 com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:457)
在 com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:398)
在 com.ibm.ws.threading.internal.Worker.run(Worker.java:380)
在 java.lang.Thread.run(Thread.java:722)