当我将glassfish服务器更改为Apache tomcat时,我收到此错误,如何修复此错误严重:部署期间出现严重错误我是如此尝试但我失败了。我是jsf和primefaces的新手
严重:部署期间出现严重错误: java.lang.NoClassDefFoundError:com / sun / enterprise / InjectionException at java.lang.Class.forName0(Native Method) 在java.lang.Class.forName(Class.java:249) at com.sun.faces.util.Util.loadClass(Util.java:269) at com.sun.faces.spi.InjectionProviderFactory.getProviderFromEntry(InjectionProviderFactory.java:317) at com.sun.faces.spi.InjectionProviderFactory.findProviderClass(InjectionProviderFactory.java:285) at com.sun.faces.spi.InjectionProviderFactory.createInstance(InjectionProviderFactory.java:116) at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:335) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223) 在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5099) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5615) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1571) 在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1561) at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303) 在java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:918) 在java.lang.Thread.run(Thread.java:662) 引起:java.lang.ClassNotFoundException:com.sun.enterprise.InjectionException 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1891) 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1734) ......还有18个 2016年8月18日下午2:55:00 org.apache.catalina.core.StandardContext listenerStart SEVERE:将上下文初始化事件发送到类com.sun.faces.config.ConfigureListener的侦听器实例的异常 java.lang.RuntimeException:java.lang.NoClassDefFoundError:com / sun / enterprise / InjectionException at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:290) 在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5099) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5615) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1571) 在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1561) at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303) 在java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:918) 在java.lang.Thread.run(Thread.java:662) 引起:java.lang.NoClassDefFoundError:com / sun / enterprise / InjectionException at java.lang.Class.forName0(Native Method) 在java.lang.Class.forName(Class.java:249) at com.sun.faces.util.Util.loadClass(Util.java:269) at com.sun.faces.spi.InjectionProviderFactory.getProviderFromEntry(InjectionProviderFactory.java:317) at com.sun.faces.spi.InjectionProviderFactory.findProviderClass(InjectionProviderFactory.java:285) at com.sun.faces.spi.InjectionProviderFactory.createInstance(InjectionProviderFactory.java:116) at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:335) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223) ......还有10个 引起:java.lang.ClassNotFoundException:com.sun.enterprise.InjectionException 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1891) 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1734) ......还有18个 2016年8月18日下午2:55:00 org.apache.catalina.core.StandardContext startInternal 严重:一个或多个听众未能开始。完整的详细信息将在相应的容器日志文件中找到 2016年8月18日下午2:55:00 org.apache.catalina.core.StandardContext startInternal 严重:由于先前的错误,Context [/ TestJSF]启动失败 2016年8月18日下午2:55:00 javax.faces.FactoryFinder $ FactoryManager getFactory 严重:应用程序在启动时未正确初始化,找不到Factory:javax.faces.application.ApplicationFactory。试图找到备份。 2016年8月18日下午2:55:00 com.sun.faces.config.ConfigureListener contextDestroyed 严重:尝试拆除Mojarra运行时时出现意外异常 java.lang.IllegalStateException:找不到工厂javax.faces.application.ApplicationFactory的备份。 在javax.faces.FactoryFinder $ FactoryManager.getFactory(FactoryFinder.java:1010) 在javax.faces.FactoryFinder.getFactory(FactoryFinder.java:342) at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:141) at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:328) at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5146) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5810) 在org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:159) 在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1571) 在org.apache.catalinaa.core.ContainerBase $ StartChild.call(ContainerBase.java:1561) at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303) 在java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:895)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:918) 在java.lang.Thread.run(Thread.java:662) 2016年8月18日下午2:55:00 org.apache.coyote.AbstractProtocol开始 信息:启动ProtocolHandler [" http-bio-6060"] 2016年8月18日下午2:55:00 org.apache.coyote.AbstractProtocol开始 信息:启动ProtocolHandler [" ajp-bio-8009"] 2016年8月18日下午2:55:00 org.apache.catalina.startup.Catalina开始 信息:服务器启动时间为8611毫秒
答案 0 :(得分:1)
请记住,Glassfish是一个支持JAVA EE的应用服务器,而tomcat不支持这个,apache org的解决方案是apache TomEE。