WebSphere 6.1 and JSF 1.2
The last week I was asked to migrate a JSF 1.2 / Seam 2.x based web app to a WebSphere 6.1 application server. I hadn’t worked with WebSphere in a while, though I knew what I had to expect.
IBM still hasn’t released a JavaEE 5 compliant product, so the 6.1 version is still on J2SE 1.4 with JSP 2.0 and Java Servlet 2.4. Also it has a built-in JSF 1.1.
The application to be migrated luckly is using facelets as its view technology otherwise I would have been screwed anyway. JSF 1.2 itself doesn’t rely on the servlet spec 2.4 so a good chance to get it done.
To run JSF 1.2 the following is required:
- Make sure that you WebSphere installation is at least running with fixpack 13!
- Create a shared library containing JSF RI 1.2 jars (jsf-api.jar, jsf-impl.jar, el-api-1.0.jar, el-impl-1.0.jar)
- Create a classloader with application classes loaded first and bind it to the shared library above
- Set the classloading policy as application classes loaded first and assign the classloader

2 Comments
Neil - 2009/10/02
I’m also having issues getting JSF 1.2 / RichFaces to play nice with WebSphere 6.1. I have followed the steps above and am now at the point where I am getting the java.lang.NoClassDefFoundError listed below. I have create a shared library (with jsf-api.jar, jsf-impl.jar, el-api-1.0.jar, el-impl-1.0.jar files) along with a new server level classloader that points to it and has a policy of “load application classes first” but still getting the error. Do I also need the richfaces jar files (richfaces-api-3.3.1.GA.jar, richfaces-impl-3.3.1.GA.jar, richfaces-ui-3.3.1.GA.jar) in that shared library as well ro something else? Anywa, any hel pwould be greatly appreciated. Thanks.
Martin Ahrer - 2009/10/06
@Neil
Neil, I think the problem is that JSF 1.2 requires JSP 2.1 which WebSphere 6.1 does not support. However you can use JSF 1.2 with facelets!
See also:
http://java.sun.com/javaee/5/docs/api/javax/servlet/jsp/tagext/JspIdConsumer.html
http://forums.sun.com/thread.jspa?threadID=5335001