tags:

views:

25

answers:

1

I'm trying to move and old JSF v1.0 application from Sun One to Jboss 4.3 EAP that has jsf v 1.2 jars. I've been able to get the application to compile and deploy but when try to run it locally it gives me a ClassNotFoundException (and rightly so) for com.sun.faces.taglib.FacesTagExtraInfo

It doesn't exist in the jsf_impl.jar, as it did in the 1.0 versions, along with 2 other class files. I can't stick the old v in the deploy folder for jboss (one it doesn't work that way and jboss complains about local configuration error, since it wants to use it's jars). I've done some searching but I can't seem to find a solution.

A: 

That class was removed in JSF 1.2 because it became superfluous with the new view handler. If you're getting this exception, then it means that you still have a jsf-api.jar of version 1.0/1.1 wandering somewhere in the classpath which got precedence over the version 1.2 one during classloading. But you do have a jsf-impl.jar of version 1.2 in the classpath (likely the appserver-provided one).

Cleanup your classpath to get rid of the old 1.0 JAR's and restart. The default paths covered by the webapp's runtime classpath are under each Webapp/WEB-INF/lib, JDK/lib and JDK/lib/ext.

BalusC
I'll give it a try, thanks
Mike Eaton
Well I tried that, doesn't sem to be it, even did a search on the machine and the only jsf*.jars or tlds were in the jboss4.3 EAP
Mike Eaton
Don't you have other server-specific JAR's in the mentioned folders? Remove them as well. Also check the `JRE` libraries. In fact, you shouldn't touch the default JRE/JDK lib folders. You should also not put server-specific libraries in `/WEB-INF/lib`.
BalusC
Found it! It was the jsf_core.tld that the previous developer had locally and was sitting in the WEB-INF/lib/, rather than call the SUN tlds. Thanks
Mike Eaton