eclipsejsfglassfish-3icefacesicefaces-3

icefaces project deployment error : org.apache.catalina.LifecycleException: java.lang.NoSuchFieldError: SKIP_ITERATION


I'm trying to make new icefaces project which generated using: ICEfaces 3.3.0 project integration for Eclipse. I didn't modify anything on the project. but when i try to run on the server, i got an error:

cannot Deploy MyProject

Deployment Error for module: MyProject:

Exception while loading the app : java.lang.Exception:

java.lang.IllegalStateException: ContainerBase.addChild:

start: org.apache.catalina.LifecycleException:

java.lang.NoSuchFieldError: SKIP_ITERATION

before that, I'm using ICEfaces 3.2.0 project integration for Eclipse and no problem.

I'm using Eclipse Indigo, GlassFish server 3, Mojarra 2.1.6

Thanks before


Solution

  • java.lang.NoSuchFieldError: SKIP_ITERATION

    As per the javadoc, that field was added in JSF 2.1.

    So, this error suggests that your webapp's runtime classpath is polluted with a JSF 2.0 API JAR file. Perhaps in the /WEB-INF/lib? Get rid of it. Glassfish already ships with JSF bundled, you don't necessarily need to supply your own. Or, from the other side on, this can also happen if you deploy to an ancient Glassfish instance which bundles JSF 2.0 and JSF 2.1 was actually bundled in your webapp in an attempt to upgrade it. If so, then you should edited the Glassfish config file sun-web.xml or glassfish-web.xml, depending on GF version. See for detail the answer to this related question: How to update Mojarra version in GlassFish