I have developed a JSF 2.0/Primefaces 3.2 web application running on an amazon cloud instance.
I have been having recently lot of “NoClassDefFoundError” and don’t know where to start digging. I initially thought that it has to with the Classloader but after we redeploy the application on the next day the exception disappeared.
Here are the list of jsf2.0 maven dependencies I have:
<dependecy>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
Here is the exception I recently got:
java.lang.NoClassDefFoundError:
com/sun/faces/context/RequestParameterValuesMap at
com.sun.faces.context.ExternalContextImpl.getRequestParameterValuesMap(ExternalContextImpl.java:347)
at
org.primefaces.renderkit.SelectManyRenderer.decode(SelectManyRenderer.java:39)
at
javax.faces.component.UIComponentBase.decode(UIComponentBase.java:787)
at javax.faces.component.UIInput.decode(UIInput.java:757) at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1181)
at javax.faces.component.UIInput.processDecodes(UIInput.java:662)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIForm.processDecodes(UIForm.java:225)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
org.primefaces.component.layout.Layout.processDecodes(Layout.java:238)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
org.primefaces.component.layout.Layout.processDecodes(Layout.java:238)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
Any help on this will be appreciated.
Thanks
After some research I believe this is a bug in Primefaces 3.2 but not sure. So I upgraded to 3.3.1 and upgraded also my mojarra to 2.1.14. I am not having this issue currently.