我创建了我的hello world JSF项目,但是当我部署到Tomcat 7时,我得到了这个异常:
java.lang.IllegalStateException: Could not find backup for factory javax.faces.context.FacesContextFactory.
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1135)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:379)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:350)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:864)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
我已将这些JAR添加到我的项目中:
jstl-1.2.jar
javax.faces-api-2.2.jar
这是怎么造成的,我该如何解决?
Bal*_*usC 22
IllegalStateException:找不到工厂javax.faces.context.FacesContextFactory的备份
如果用"implementation"替换"backup",则更容易理解此异常.它最终归结为"我找到了JSF API,但在与我找到JSF API相同的类路径上下文中没有JSF impl".换句话说,你在运行时类路径中的某个地方有一个JSF API,它没有任何JSF impl.例如,具有jsf-api.jar
或甚至javaee.jar
没有任何jsf-impl.jar
或javax.faces.jar
在相同的类路径上下文中.
在您的具体情况下,
我已将这个罐子添加到我的项目中:
jstl-1.2.jar
和javax.faces-api-2.2.jar
该javax.faces-api-2.2.jar
单是不正确的.有两个问题:
如果您想使用Mojarra,请按照其自述文件中的安装说明进行操作.在你的具体情况下,摆脱它javax.faces-api-2.2.jar
并把最新javax.faces-2.x.x.jar
的/WEB-INF/lib
或者pom.xml
这个异常应该消失.
归档时间: |
|
查看次数: |
27865 次 |
最近记录: |