为了账号安全,请及时绑定邮箱和手机立即绑定

java.lang.IllegalStateException:找不到工厂

java.lang.IllegalStateException:找不到工厂

墨色风雨 2019-11-19 09:43:22
我正在使用这个:Tomcat 7.0JSF 2.0JRE 7但是当尝试运行我的应用程序时,出现以下异常:java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory.     at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1011)    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)    at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:159)    at org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:210)    at javax.faces.component.UIViewRoot.setLocale(UIViewRoot.java:1463)    at org.apache.myfaces.webapp.AbstractFacesInitializer._createFacesContext(AbstractFacesInitializer.java:477)    at org.apache.myfaces.webapp.AbstractFacesInitializer.initStartupFacesContext(AbstractFacesInitializer.java:449)    at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:113)    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)    at java.util.concurrent.FutureTask.run(Unknown Source)    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)    at java.lang.Thread.run(Unknown Source)有什么想法吗?
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

如果您的Web应用程序的运行时类路径被多个JSF impls /版本污染,则可能会发生这种情况。org.apache.myfaces堆栈跟踪中的条目表明您正在使用MyFaces。因此,此问题表明您在Web应用程序的运行时类路径中有另一个JSF实现(例如Mojarra),该实现与之冲突。可以通过jsf-api.jarjsf-impl.jar或识别javax.faces.jar。如果删除所有这些,则此问题应消失。

或者,如果您实际上打算使用Mojarra代替MyFaces(即您没有在问题中的任何地方明确声明意图的JSF实施/版本,但是您只是像在“ JSF 2.0”中那样概括地指出了JSF规范,所以也许您实际上已经不知道您在做什么),那么您应该myfaces-*.jar从Web应用程序中删除文件。


查看完整回答
反对 回复 2019-11-19
  • 3 回答
  • 0 关注
  • 732 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信