Description of problem: Sometimes a wrong jsf.js is served in the Seam2.3 richfaces examples (reproducible at least in booking and nestedbooking examples), which causes commandLinks not working with "mojarra not defined" javascript errors. The problem seems to be that both the jsf API (org.jboss.spec.javax.faces:jboss-jsf-api_2.1_spec:jar:2.0.2.Final-redhat-1) and the mojarra impl artifacts contains javax.faces/jsf.js, but the version in jsf api doesn't work. The behavior of which resource is served when the API artifact is contained in the .war seems to be platform-dependent. Steps to reproduce: 1. build and deploy Seam2.3 nestedbooking example 2. attempt to book a room 3. Notice the "select" link on Room Preference page doesn't work. also notice the /seam-nestedbooking/javax.faces.resource/jsf.js.seam?ln=javax.faces returns the jsf.js version from jsf API. The solution seems to be to include <dependency> <groupId>org.jboss.spec.javax.faces</groupId> <artifactId>jboss-jsf-api_2.1_spec</artifactId> <scope>provided</scope> </dependency> in foo-web/pom.xml in the richfaces examples to override the default compile scope.
This is known issue in productized redhat version of jsf-impl artifact. https://issues.jboss.org/browse/JBEE-114 This issue affects Richfaces component build and we have to worked around it in https://bugzilla.redhat.com/show_bug.cgi?id=820579