Hi,
I probably forgot to remove the phase listener definition from
faces-config when removing the phase listener. I created an issue for
this
https://issues.jboss.org/browse/WELD-1295
On 01/05/2013 01:19 PM, Luigi Bitonti wrote:
Hi All,
I am "playing" with Weld Servlet 2.0.0.Beta2, deploying a JSF
application to Tomcat 7.0.32 and I believe I've found 2 issues.
1) If use weld-servlet as artifact in Maven, i.e.
...
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet</artifactId>
<version>2.0.0.Beta2</version>
...
the presence of the el-api classes in the jar prevents the application
from deploying, as the classes are already present in Tomcat. The
exception is as follows:
01-Jan-2013 13:44:53 org.apache.catalina.loader.WebappClassLoader
validateJarFile
INFO:
validateJarFile(E:\devel\java\tomcat\apache-tomcat-7.0.32\webapps\palindrome-weld2-jsf\WEB-INF\lib\weld-servlet-2.0.0.Beta2.jar)
- jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending
class: javax/el/Expression.class
01-Jan-2013 13:44:54 org.apache.catalina.core.StandardContext
startInternal
SEVERE: Error listenerStart
01-Jan-2013 13:44:54 org.apache.catalina.core.StandardContext
startInternal
2) If I use weld-servlet-core, so that I can exclude the el-api jar
like this:
...
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core</artifactId>
<version>2.0.0.Beta2</version>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet-core</artifactId>
<version>2.0.0.Beta2</version>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
</exclusion>
</exclusions>
</dependency>
...
I get the following error at application deployment:
SEVERE: Exception sending context initialized event to listener
instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: com.sun.faces.config.ConfigurationException:
Source Document:
jar:file:/E:/devel/java/tomcat/apache-tomcat-7.0.32/webapps/palindrome-weld2-jsf/WEB-INF/lib/weld-servlet-core-2.0.0.Beta2.jar!/META-INF/faces-config.xml
Cause: Unable to find class 'org.jboss.weld.jsf.WeldPhaseListener'
at
com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
...
The JSF phase listener existed in weld 1.x but has been removed from
weld 2.x. If I edit the faces-config.xml file and remove the phase
listener reference everything works as expected. I checked github and
the latest version of faces-config.xml has still got a reference to
the missing class.
I hope this makes sense. Apologies if this is not the right mailing
list for this message, or if it's a duplicate (I searched but I could
not find anything similar).
Cheers,
Luigi
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev