2012-11-06 3 views
1

Glassfish 3.1.2.2에서 Tomcat 7.0.32로 마이그레이션하려고합니다. Atmosphere (PrimeFaces Push)가 Tomcat과 완벽하게 작동한다고 모두가 말하기 때문에 Glassfish 3.1.2.2에서 Tomcat 7.0.32로 마이그레이션하려고합니다. 글래스 피시에서는 작동하지 않습니다. OmniFaces JAR이 내 앱을 Tomcat 7.0.32에서 시작하거나 실행하지 못하도록합니다.

가 이미 인 Mojarra는 다음에서 설명하는 오류 통과 얻을 톰캣/lib 디렉토리에 JAR 2.1.4 추가 : 나는 OmniFaces를 제거해야합니다 것처럼

이제 java.lang.ClassNotFoundException : com.sun.faces.config.ConfigureListener

, 보인다을 (1.3 SNAPSHOT) 오류가 발생하기 때문에 클래스 패스의 JAR 파일. FullAjaxExceptionHandler가 먼저 오류로 표시되어서 앱에서 주석을 제거한 다음 OmniPartialView가 다음에 표시되었으므로 아래에서 위로 읽는 것이 가장 좋습니다.하지만 솔직히 OmniFaces를 제거하지 않는 것이 좋습니다. 다음은 서버 로그가

could not find Factory: javax.faces.application.ApplicationFactory

입니다 :

OmniFaces는 다음에 논의 오류의 원인이된다. 아래에서 위로 읽으십시오.

Nov 06, 2012 1:09:28 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeRemoved('com.sun.faces.ApplicationAssociate', '[email protected]') 
    Nov 06, 2012 1:09:28 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeRemoved('com.sun.faces.InitFacesContext', '[email protected]') 
    Nov 06, 2012 1:09:28 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeRemoved('com.sun.faces.config.WebConfiguration', '[email protected]') 
    Nov 06, 2012 1:09:28 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.InitFacesContext', '[email protected]') 
    Nov 06, 2012 1:09:28 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeRemoved('com.sun.faces.InitFacesContext', '[email protected]') 
    Nov 06, 2012 1:09:28 AM org.apache.catalina.core.ApplicationContext log 
    INFO: SessionListener: contextDestroyed() 
    Nov 06, 2012 1:09:28 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: contextDestroyed() 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: contextInitialized() 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: SessionListener: contextInitialized() 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.InitFacesContext', '[email protected]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.patternCache', '{}') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.config.WebConfiguration', '[email protected]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeRemoved('com.sun.faces.facesInitializerMappingsAdded', 'true') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.htmlTLVEnabled', 'false') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.webresources', '[]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.config.ConfigManager_ANNOTATION_SCAN_TASK', '[email protected]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('javax.faces.FactoryFinder.FactoryManagerCacheKey', '1352182177715') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.ApplicationAssociate', '[email protected]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.application.InjectionApplicationFactory', '[email protected]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('javax.faces.BEANS_VALIDATION_AVAILABLE', 'false') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeRemoved('com.sun.faces.config.ConfigManager_ANNOTATION_SCAN_TASK', '[email protected]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('org.apache.jasper.runtime.JspApplicationContextImpl', '[email protected]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('com.sun.faces.errorPagePresent', 'false') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeReplaced('com.sun.faces.InitFacesContext', '[email protected]') 
    Nov 06, 2012 1:09:37 AM org.apache.catalina.core.ApplicationContext log 
    INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', '[email protected]') 
    Nov 06, 2012 1:10:11 AM org.apache.catalina.core.StandardContext listenerStart 
    SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener 
    java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: Factory 'javax.faces.context.ExceptionHandlerFactory' was not configured properly. 
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:655) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:536) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1453) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1445) 
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:860) 
    at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:357) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) 
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1813) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
    Caused by: com.sun.faces.config.ConfigurationException: Factory 'javax.faces.context.ExceptionHandlerFactory' was not configured properly. 
    at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:305) 
    at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:219) 
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:360) 
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) 
    ... 40 more 
    Caused by: javax.faces.FacesException: org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory 
    at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:616) 
    at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:482) 
    at javax.faces.FactoryFinder.access$400(FactoryFinder.java:138) 
    at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:959) 
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:316) 
    at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:303) 
    ... 43 more 
    Caused by: java.lang.InstantiationException: org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory 
    at java.lang.Class.newInstance0(Class.java:357) 
    at java.lang.Class.newInstance(Class.java:325) 
    at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:614) 
    ... 48 more 

    Nov 06, 2012 1:20:12 AM org.apache.catalina.core.StandardContext listenerStart 
    SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener 
    java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: Factory 'javax.faces.context.PartialViewContextFactory' was not configured properly. 
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:655) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:536) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1453) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1445) 
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:860) 
    at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:357) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) 
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1813) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
    Caused by: com.sun.faces.config.ConfigurationException: Factory 'javax.faces.context.PartialViewContextFactory' was not configured properly. 
    at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:305) 
    at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:219) 
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:360) 
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) 
    ... 40 more 
    Caused by: javax.faces.FacesException: org.omnifaces.context.OmniPartialViewContextFactory 
    at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:616) 
    at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:482) 
    at javax.faces.FactoryFinder.access$400(FactoryFinder.java:138) 
    at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:959) 
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:316) 
    at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:303) 
    ... 43 more 
    Caused by: java.lang.InstantiationException: org.omnifaces.context.OmniPartialViewContextFactory 
    at java.lang.Class.newInstance0(Class.java:357) 
    at java.lang.Class.newInstance(Class.java:325) 
    at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:614) 
    ... 48 more 

알려 주시기 바랍니다. 감사.

답변

1

이미 해결했을 수도 있습니다. tomcat/lib 폴더에서 Mojarra 2.1.4 JAR을 제거하고 내 프로젝트 (웹 응용 프로그램) 클래스 경로 (NetBeans의 라이브러리 목록)에 추가하고 Tomcat7.0.32를 다시 시작한 다음 프로젝트/응용 프로그램을 다시 빌드하고 Tomcat에 응용 프로그램을 배포했으며 더 이상이 오류가 없습니다. 서버 로그에 나타납니다.

이제 JPA, 데이터베이스 연결 등 모든 문제가 GlassFish에서 구성되고 작동했습니다.

+0

대신 TomEE를 사용해보십시오. – BalusC

+0

감사합니다. BalusC. 나는 TomEE를 몇 주/몇 달 전에 고려해 보았고 어제 밤 생각했다. 그러나 비즈니스 요구 사항을 충족시키기 때문에 Tomcat (EE)으로 마이그레이션을 연기하기로 결정했다. 분위기는 좋지만 CDI와 서버가 서버에서 클라이언트로 데이터를 전송하기 위해 대신 이벤트를 보낸다 고 생각하고 있습니다. 누가 웹캠을 통해 채팅 응용 프로그램을 필요로합니까? Glassfish와 Mojarra에 대해 배웠던 한 가지 점은 JSF 개발을 '쉽다'는 것입니다. MyFaces Core, CDI, OpenWebBeans가 고려되고 있으므로 성능에 대해서는 '지금'입니다. – Howard