当我将glassfish服务器更改为Apache tomcat时,我得到了此错误,如何修复此错误严重:部署期间发生严重错误,我尝试过但失败了。我是jsf和primefaces的新手
严重:部署期间的严重错误:
java.lang.NoClassDefFoundError:com / sun / enterprise / InjectionException
在java.lang.Class.forName0(本地方法)
在java.lang.Class.forName(Class.java:249)
在com.sun.faces.util.Util.loadClass(Util.java:269)
在com.sun.faces.spi.InjectionProviderFactory.getProviderFromEntry(InjectionProviderFactory.java:317)
在com.sun.faces.spi.InjectionProviderFactory.findProviderClass(InjectionProviderFactory.java:285)
在com.sun.faces.spi.InjectionProviderFactory.createInstance(InjectionProviderFactory.java:116)
在com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:335)
在com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223)
在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5099)
在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)
在java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303)
在java.util.concurrent.FutureTask.run(FutureTask.java:138)
在java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:895)
在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 PM org.apache.catalina.core.StandardContext listenerStart
严重:将上下文初始化事件发送到com.sun.faces.config.ConfigureListener类的侦听器实例的异常
java.lang.RuntimeException:java.lang.NoClassDefFoundError:com / sun / enterprise / InjectionException
在com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:290)
在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5099)
在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)
在java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303)
在java.util.concurrent.FutureTask.run(FutureTask.java:138)
在java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:895)
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:918)
在java.lang.Thread.run(Thread.java:662)
引起原因:java.lang.NoClassDefFoundError:com / sun / enterprise / InjectionException
在java.lang.Class.forName0(本地方法)
在java.lang.Class.forName(Class.java:249)
在com.sun.faces.util.Util.loadClass(Util.java:269)
在com.sun.faces.spi.InjectionProviderFactory.getProviderFromEntry(InjectionProviderFactory.java:317)
在com.sun.faces.spi.InjectionProviderFactory.findProviderClass(InjectionProviderFactory.java:285)
在com.sun.faces.spi.InjectionProviderFactory.createInstance(InjectionProviderFactory.java:116)
在com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:335)
在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 PM org.apache.catalina.core.StandardContext startInternal
严重:一个或多个侦听器无法启动。有关详细信息,请参见相应的容器日志文件。
2016年8月18日2:55:00 PM org.apache.catalina.core.StandardContext startInternal
严重:由于先前的错误,上下文[/ TestJSF]启动失败
2016年8月18日2:55:00 PM javax.faces.FactoryFinder $ FactoryManager getFactory
严重:应用程序在启动时未正确初始化,找不到工厂:javax.faces.application.ApplicationFactory。试图找到备份。
2016年8月18日2:55:00 PM com.sun.faces.config.ConfigureListener上下文已销毁
严重:尝试拆除Mojarra运行时时发生意外异常
java.lang.IllegalStateException:找不到工厂javax.faces.application.ApplicationFactory的备份。
在javax.faces.FactoryFinder $ FactoryManager.getFactory(FactoryFinder.java:1010)
在javax.faces.FactoryFinder.getFactory(FactoryFinder.java:342)
在com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:141)
在com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:328)
在org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5146)
在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)
在java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303)
在java.util.concurrent.FutureTask.run(FutureTask.java:138)
在java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:895)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:918)
在java.lang.Thread.run(Thread.java:662)
2016年8月18日2:55:00 PM org.apache.coyote.AbstractProtocol开始
INFO:启动ProtocolHandler [“ http-bio-6060”]
2016年8月18日2:55:00 PM org.apache.coyote.AbstractProtocol开始
信息:启动ProtocolHandler [“ ajp-bio-8009”]
2016年8月18日2:55:00 PM org.apache.catalina.startup.Catalina开始
INFO:服务器启动时间为8611 ms
最佳答案
请记住,Glassfish是支持JAVA EE的应用程序服务器,而tomcat不支持它,apache org的解决方案是apache TomEE。
关于jsf - 将GlassFish迁移到Tomcat会引发java.lang.NoClassDefFoundError:com/sun/enterprise/InjectionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39015411/