0 Replies Latest reply on Mar 5, 2004 11:55 AM by jdoble

    Upgrading a JavaServer Faces App from JSF-1_0 beta to the Of

    jdoble

      Sun has recently released the official 1.0 reference implementation for JavaServer Faces (replacing the beta version released in December of last year), and I have managed, after some pain, to upgrade a simple application that I had developed and was running with JBoss 3.2.3 and Tomcat 5. I thought I would share my experience, so the next person won't take as long to figure things out as I did.

      First, there are a few syntax changes, such as tags changed to use camel case (e.g. "output_text" becomes "outputText"). There is a "Major changes/features in this release" section in the newly-released JSF 1.0 specification that describes these changes, and the error messages you get are reasonably straightforward, so this likely won't cause too much trouble.

      The most time-consuming problem I encountered was due to the fact that the class "com.sun.faces.config.ConfigListener" was renamed to "com.sun.faces.config.ConfigureListener" in the official release, and even though I didn't reference that class anywhere, I kept getting a classloader error indicating that com.sun.faces.config.ConfigListener could not be found. I wondered if something was being cached, but even shutting down and restarting my server didn't help.

      What I finally discovered is that the old class name was being referenced in a file in the work directory, related to my application (called jsf-test):

      /usr/jboss/server/default/work/jboss-web/localhost/jsf-test/tldCache.ser
      


      This was probably overkill, but I simply deleted the entire work directory, restarted my server, and no more classloader problem.