首页 > 解决方案 > 从 Wildfly 10/Java 9 迁移到 Wildfly 24/Java 16 后出现问题 -> 找不到工厂:javax.faces.application.ApplicationFactory

问题描述

从 Wildfly 10 / Java 9 迁移后,在 Java 16 下的 Wildfly 24 服务器中启动我的 WAR 文件时出现此异常。

我不明白这个例外。

`11:37:44,290 严重 [javax.faces](ServerService 线程池 -- 89)无法从初始化时间 FacesContext 获取 InjectionProvider。这个容器是否实现了 Mojarra 注入 SPI?11:37:44,292 严重 [javax.faces](ServerService 线程池 -- 89)应用程序在启动时未正确初始化,找不到工厂:javax.faces.application.ApplicationFactory。试图找到备份。11:37:44,293 错误 [org.jboss.msc.service.fail] (ServerService 线程池 -- 89) MSC000001: 无法启动服务 jboss.deployment.unit."myApplication.war".undertow-deployment: org.jboss .msc.service.StartException in service jboss.deployment.unit."myApplication.war".undertow-deployment: java.lang.RuntimeException: java.lang.IllegalStateException: 找不到工厂 javax.faces.application.ApplicationFactory 的备份。831)在 org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513) 引起:java.lang.RuntimeException:java.lang.IllegalStateException:找不到工厂 javax.faces.application.ApplicationFactory 的备份。在 io.undertow.servlet@2.2.8.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:257) 在 org.wildfly.extension.undertow@24.0.1.Final//org。 wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:105) at org.wildfly.extension.undertow@24.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService .java:87) ... 8 更多原因:java.lang.IllegalStateException:找不到工厂 javax.faces.application.ApplicationFactory 的备份。在 javax.faces.api@3.0.0.SP04//javax。

11:37:44,299 错误 [org.jboss.as.controller.management-operation](控制器引导线程)​​WFLYCTL0013:操作(“部署”)失败 - 地址:([(“部署”=>“myApplication.war”) ]) - 失败描述:{"WFLYCTL0080: 失败的服务" => {"jboss.deployment.unit."myApplication.war".undertow-deployment" => "java.lang.RuntimeException: java.lang.IllegalStateException: 不能找到工厂 javax.faces.application.ApplicationFactory 的备份。原因:java.lang.RuntimeException: java.lang.IllegalStateException: 找不到工厂 javax.faces.application.ApplicationFactory 的备份。原因:java.lang.IllegalStateException:找不到工厂 javax.faces.application.ApplicationFactory 的备份。“}}`

标签: javaprimefaceswildfly

解决方案


推荐阅读