Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to inject FacesContext with JSF 2.3 and TomEE?

I've been trying to use JSF 2.3 with TomEE server and I'm having problems using the @Inject annotation with the FacesContext object.

When I use it, i get the following exception while starting my TomEE server:

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()]

Am I missing something? Thanks.

like image 310
Roberto Padilha Avatar asked Oct 29 '25 21:10

Roberto Padilha


1 Answers

Seems like some JSF2.3 features must be activated by setting the used JSF version.

Try setting JSF version by adding this empty class:

    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 {
}

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

like image 111
Sven Avatar answered Oct 31 '25 12:10

Sven



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!