i am currently migrating an application from jsf1.2 (richfaces 3.3) to jsf2.0 (richfaces 4) (from JBoss 4.2 to JBoss 7 and Seam 2 to Seam 3)
I almost got it working now, finished replacing the jar files and resolving the dependencies. When starting the application i get a RuntimeException:
"java.lang.RuntimeException: Service class org.jboss.seam.faces.projectstage.JNDIProjectStageDetector didn't implement the Extension interface"
I set the ProjectStage in my web.xml:
Do I have to implement a class for this to work?
Couldn't find anything on the web or here in the community for this specific error...
Greetings from Germany,
Well i did a little research. This is the beginning of the stacktrace:
java.lang.RuntimeException: Service class org.jboss.seam.faces.projectstage.JNDIProjectStageDetector didn't implement the Extension interface
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Well, let's have a look at the JNDIProjectStageDetector, it implements ProjectStageDetector.
ProjectStageDetector extends from org.jboss.solder.util.Sortable, which defines an interface only holding a comparator...
So obviously, the JNDIProjectStageDetector indeed does not implement the Extension interface.... or am I missing something?
(I just recognized, this is merely a seam-related problem and actually has nothing to do with richfaces, I will move the topic)
That's a really weird issue. The exception means that the implementation class JNDIProjectStageDetector does not implement the SPI interface ProjectStageDetector. See the loadClass() method here:
I really don't know why this is happening. Perhaps a class loading issue? But this shouldn't happen as both classes (the SPI and the implementation) are loaded from the same archive.
currently my guess is that I used two imported libs which are already available from the jboss module system.
(also switched back to JBoss 7.1.0 CR1b)
So i got rid of that, but now i'm stuck somewhere else:
"Service class org.jboss.solder.resourceLoader.ClasspathResourceLoader didn't implement the Extension interface"
This slowly gets a bit frustrating..
got that also resolved. Now I'm stuck at
"WELD-001408 Unsatisfied dependencies for type FormValidationTypeOverrideExtension"
it's like chasing a ghost..
can't tell you exactly how I resolved it, though my guess is a redundant dependency being used.
It helped to look at https://docs.jboss.org/author/display/AS71/Developer+Guide#DeveloperGuide-EARClassLoading again and check the 5 projects for redundancies
(The application i'm migrating consists of an EAR packaging 2 EJB Modules and 2 WARs)
I am relatively new to the whole Seam / JBoss / JSF thing so maybe I'm making mistakes which first result in such strange exceptions but become clear with a little reading in the developer guide..