java.lang.IllegalStateException:没有为此应用程序配置的工厂

时间:2016-02-26 21:18:01

标签: jsf tomcat ant tomcat6

我改变了构建应用程序的方式。它是由maven之前建造的,我把它改成了ANT。

更改后,我开始收到以下错误:

  

java.lang.IllegalStateException:没有为此应用程序配置的工厂。       如果面部初始化根本不起作用,则会发生这种情况 - 请确保您           正确包含基本面应用程序所需的所有配置设置           并且包含了所有必要的库。       还要检查Web应用程序和容器的日志记录输出          任何例外!

如果你这样做并且一无所获,那么错误可能是由于您使用了一些特殊的Web容器,这些容器不支持通过TLD文件注册上下文侦听器,并且您的web.xml中未设置上下文侦听器

典型配置如下所示:

<listener>
    <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
javax.faces.FactoryFinder._getFactory(FactoryFinder.java:246)
javax.faces.FactoryFinder.getFactory(FactoryFinder.java:200)
javax.faces.webapp.FacesServlet.init(FacesServlet.java:112)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
java.lang.Thread.run(Thread.java:662)

web.xml没有以下内容:

<listener>
    <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>

但是由于应用程序在没有它的情况下工作,我认为这是另一个问题。我在谷歌中查找了这个问题,其中大多数人认为这可能是因为Tomcat jar(servlet-api.jarel-api.jarjsp-api.jar)的兼容性问题。我无法移除el-api.jar,因为应用程序正在使用它。

这似乎是一些依赖/库问题。

0 个答案:

没有答案