3

我一直在尝试将 JSF 2.3 与 TomEE 服务器一起使用,但在使用对象的@Inject注释时遇到了问题FacesContext

当我使用它时,在启动我的 TomEE 服务器时出现以下异常:

SEVERE: CDI Beans module deployment failed 
org.apache.webbeans.exception.WebBeansDeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [javax.faces.context.FacesContext] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()]

我错过了什么吗?谢谢。

4

1 回答 1

2

似乎某些 JSF2.3 功能必须通过设置使用的 JSF 版本来激活。

尝试通过添加这个空类来设置 JSF 版本:

    import javax.faces.annotation.FacesConfig;

/**
 * The presence of the @FacesConfig annotation on a managed bean deployed within an application enables version specific
 * features. In this case, it enables JSF CDI injection and EL resolution using CDI.
 *
 */
@FacesConfig(version = FacesConfig.Version.JSF_2_3)
public class ConfigurationBean {
}

https://github.com/javaee/glassfish/issues/22094

于 2017-12-06T12:14:04.170 回答