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@lists.jboss.org https://lists.jboss.org/mailman/listinfo/weld-dev