java.lang.IllegalStateException:找不到工厂 javax.faces.context.FacesContextFactory 的备份

java.lang.IllegalStateException:Could not find backup for factory javax.faces.context.FacesContextFactory

我正在尝试将一个 ear maven 项目部署到 WebLogic 12c 中,该项目在其 war 子模块中包含 JSF 2。

处理了几天后,我收到一条消息,无法解决。

[HTTP:101216]Servlet: "Faces Servlet" failed to preload on startup in Web application: "/". java.lang.IllegalStateException: Could not find backup for factory javax.faces.context.FacesContextFactory.

我在 POM 中的相关依赖项:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>6.0</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>5.1</version>
</dependency>

在处理这个问题大约 20 天(!)之后,我终于发现 Weblogic 12.1.1 在使用 JSF 时存在错误。我将我的 weblogic 升级到 12.1.2,它运行起来非常棒。

我在第一次取消部署 JSF 应用程序并部署另一个 JSF 应用程序后,在我们的 Weblogic 服务器(版本:12.1.3.0.0)上注意到了这个问题。

通过删除我所有的 jsf 应用程序、重新启动整个应用程序服务器(不仅是节点)并重新部署 jsf 应用程序,我再次获得了所有内容 运行。