我一直在尝试将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()]
我错过了什么吗? 感谢。
答案 0 :(得分:0)
似乎必须通过设置使用的JSF版本来激活某些JSF2.3功能。
尝试通过添加此空类来设置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