Grails 2.X with Websphere 8.5-java.lang.IllegalStateException没有为此应用程序配置的工厂

时间:2017-11-08 13:09:37

标签: tomcat grails websphere-8

  

我正在使用Grails 2.3.6。对于本地开发,我使用的是嵌入式tomcat服务器,但是对于我们的集成环境,我们使用的是Websphere 8.5.5。我的应用程序中没有JSF。所以这个日志让我感到困惑:

错误webcontainer.webapp - SRVE0285E:在销毁上下文时遇到异常:{0} java.lang.IllegalStateException:没有为此应用程序配置的工厂。如果faces-initialization完全不起作用,则会发生这种情况 - 请确保正确包含基本面应用程序所需的所有配置设置,并且包含所有必需的lib。还要检查Web应用程序和容器的日志记录输出是否有异常! 如果你这样做并且一无所获,那么错误可能是因为您使用了一些特殊的Web容器,这些容器不支持通过TLD文件注册上下文侦听器,并且您的web.xml中没有设置上下文侦听器。 典型的配置看起来像这样;   org.apache.myfaces.webapp.StartupServletContextListener

at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:308)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:228)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:169)
at org.apache.myfaces.webapp.AbstractFacesInitializer._dispatchApplicationEvent(AbstractFacesInitializer.java:329)
at org.apache.myfaces.webapp.AbstractFacesInitializer.destroyFaces(AbstractFacesInitializer.java:364)
at org.apache.myfaces.webapp.StartupServletContextListener.contextDestroyed(StartupServletContextListener.java:161)
at com.ibm.ws.webcontainer.managedobject.ManagedObjectListenerWrapper.contextDestroyed(ManagedObjectListenerWrapper.java:138)
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextDestroyed(WebApp.java:1899)
at com.ibm.ws.webcontainer.webapp.WebApp.destroy(WebApp.java:3320)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.destroy(WebAppImpl.java:1574)
at com.ibm.ws.container.AbstractContainer.destroy(AbstractContainer.java:75)
at com.ibm.ws.webcontainer.webapp.WebGroup.destroy(WebGroup.java:228)
at com.ibm.ws.webcontainer.webapp.WebGroup.removeWebApplication(WebGroup.java:269)
at com.ibm.ws.webcontainer.VirtualHost.removeWebApplication(VirtualHost.java:305)
at com.ibm.ws.webcontainer.VirtualHostImpl.removeWebApplication(VirtualHostImpl.java:234)
at com.ibm.ws.webcontainer.WSWebContainer.removeWebApplication(WSWebContainer.java:975)
at com.ibm.ws.webcontainer.component.WebContainerImpl.uninstall(WebContainerImpl.java:459)
at com.ibm.ws.webcontainer.component.WebContainerImpl.stop(WebContainerImpl.java:730)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.stop(ApplicationMgrImpl.java:1288)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStop(DeployedApplicationImpl.java:1519)
at com.ibm.ws.runtime.component.DeployedModuleImpl.stop(DeployedModuleImpl.java:736)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.stop(DeployedApplicationImpl.java:1293)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.stopApplication(ApplicationMgrImpl.java:975)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.stop(ApplicationMgrImpl.java:935)
at com.ibm.ws.runtime.component.ContainerHelper.stopComponent(ContainerHelper.java:477)
at com.ibm.ws.runtime.component.ContainerHelper.stopComponents(ContainerHelper.java:461)
at com.ibm.ws.runtime.component.ContainerImpl.stopComponents(ContainerImpl.java:650)
at com.ibm.ws.runtime.component.ContainerImpl.stop(ContainerImpl.java:638)
at com.ibm.ws.runtime.component.ApplicationServerImpl.stop(ApplicationServerImpl.java:286)
at com.ibm.ws.runtime.component.ContainerHelper.stopComponent(ContainerHelper.java:477)
at com.ibm.ws.runtime.component.ContainerHelper.stopComponents(ContainerHelper.java:461)
at com.ibm.ws.runtime.component.ContainerImpl.stopComponents(ContainerImpl.java:650)
at com.ibm.ws.runtime.component.ContainerImpl.stop(ContainerImpl.java:638)
at com.ibm.ws.runtime.component.ServerImpl.stop(ServerImpl.java:672)
at com.ibm.ws.runtime.component.ServerCollaborator$ShutdownHook$1.run(ServerCollaborator.java:917)
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5398)
at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5614)
at com.ibm.ws.runtime.component.ServerCollaborator$ShutdownHook.run(ServerCollaborator.java:907)
at com.ibm.ws.runtime.component.ServerCollaborator$StopAction.alarm(ServerCollaborator.java:859)
at com.ibm.ejs.util.am._Alarm.runImpl(_Alarm.java:151)
at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:136)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)

1 个答案:

答案 0 :(得分:0)

这是在Grails参与之前发生的(你可以在你的堆栈跟踪中看到Grails永远不会尝试启动)。您需要检查websphere webapp容器初始化,因为它必须尝试初始化JSF。