我一直在尝试将JSF 2.3与TomEE服务器一起使用,但是在FacesContext
对象中使用@Inject
注释时遇到了问题。
当我使用它时,我在启动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()]
我错过了什么吗? 谢谢。
似乎某些 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
相比