Jsf 无法获取com.sun.faces.flow.FlowDiscoveryCDIExtension。使用javax.faces.flow.builder.FlowDefinition描述的流不可用

Jsf 无法获取com.sun.faces.flow.FlowDiscoveryCDIExtension。使用javax.faces.flow.builder.FlowDefinition描述的流不可用,jsf,cdi,jsf-2.2,jboss-eap-6,Jsf,Cdi,Jsf 2.2,Jboss Eap 6,我正在使用JBossEAP6.1、CDI、Hibernate和JSF2.2。我认为这可能是由JSF2.2引起的,所以我将face config.xml更改为2.0,但错误仍然存在 我遵循了这个指南: 这就是我的模块的外观: 这就是my module.xml的外观: 21:39:39,453 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (Se rverService Thread Pool -- 103) Unab

我正在使用JBossEAP6.1、CDI、Hibernate和JSF2.2。我认为这可能是由JSF2.2引起的,所以我将
face config.xml
更改为2.0,但错误仍然存在

我遵循了这个指南:

这就是我的模块的外观: 这就是my module.xml的外观:

21:39:39,453 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (Se
rverService Thread Pool -- 103) Unable to obtain com.sun.faces.flow.FlowDiscover
yCDIExtension from CDI implementation.  Flows described with javax.faces.flow.bu
ilder.FlowDefinition are unavailable.

您是如何切换到JSF2.2的

如果您在war/ear文件中包含jar文件,那么其中之一就是加载并尝试加载CDI扩展,但包含该类的jar不可用。尝试从部署档案中删除任何JSFJAR,看看它是否消失了


如果将其作为模块添加到服务器中,则可能会丢失定义中属于JSF模块一部分的jar文件或依赖模块。删除更改或添加的模块,看看它是否消失。

我遵循了以下指南:我的war中不包括JSF jar。我已经将maven范围设置为
提供了
。我认为faces配置中的jsf版本是不相关的。这是关于模块中缺少的类或配置。
<dependencies>
    <module name="javax.faces.api"/>
    <module name="javaee.api"/>
    <module name="javax.servlet.jstl.api"/>
    <module name="org.apache.xerces" services="import"/>
    <module name="org.apache.xalan" services="import"/>
</dependencies>
<resources>
    <resource-root path="jsf-impl-2.2.7.jar"/>
    <!-- Insert resources here -->
</resources>

<dependencies>
    <module name="javax.el.api" export="true"/>
    <module name="javax.servlet.api" export="true"/>
    <module name="javax.servlet.jsp.api" export="true"/>
    <module name="javax.servlet.jstl.api" export="true"/>
    <module name="javax.validation.api" export="true"/>
    <module name="com.sun.jsf-impl"/>
</dependencies>
<resources>
    <resource-root path="jsf-api-2.2.7.jar"/>
    <!-- Insert resources here -->
</resources>