I’m struggling to create a jsf2.3 project using Weld3.1.6Final and deploying it on target runtime Tomcat9 running with java8.
Dinamic web module versione 4.0
Configurations:
java 1.8
JavaServer Faces 2.3
JSF Configurations and dependecies:
WEB-INF/faces-config.xml with version 2.3
WEB-INF/web.xml with version 4.0 and contains weld Listener and javax faces FacesServlet
WEB-INF/beans.xml (empty)
Those are my dependencies inside the WEB-INF/lib in my WAR file.
javax.faces-2.3.9.jar
javax.servlet-api-4.0.1.jar
javax.servlet.jsp-api-2.3.3.jar
javax.el-api-3.0.0.jar
weld-servlet-core-3.1.9.Final.jar
weld-environment-common-3.1.9.Final.jar
weld-core-impl-3.1.9.Final.jar
jboss-annotations-api_1.3_spec-2.0.1.Final.jar
jboss-interceptors-api_1.2_spec-2.0.0.Final.jar
weld-spi-3.1.SP4.jar
weld-api-3.1.SP4.jar
weld-probe-core-3.1.9.Final.jar
jakarta.enterprise.cdi-api-2.0.2.jar
jakarta.inject-api-1.0.jar
cdi-api-2.0.SP1.jar
weld-jsf-3.1.9.Final.jar
weld-web-3.1.9.Final.jar
jboss-el-api_3.0_spec-2.0.0.Final.jar
jboss-logging-3.4.3.Final.jar
jboss-classfilewriter-1.2.5.Final.jar
javaee-web-api-8.0.jar
First of all I was using weld-servlet-shaded jar, I have removed it and use weld-servlet-core.
I receive the error
com.sun.faces.config.ConfigurationException: Factory 'javax.faces.lifecycle.ClientWindowFactory' was not configured properly.
with
Caused by: javax.faces.FacesException: Unable to find CDI BeanManager at com.sun.faces.application.ApplicationImpl.isJsf23(ApplicationImpl.java:2714)
For me it is very important to setting up this project because I need to do a porting with this restrictions and I’m relatively new to this technology.
Any suggestions are greatly appreciated