当我尝试将我的 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)