我开发了一个在亚马逊云实例上运行的JSF 2.0 / Primefaces 3.2 Web应用程序。 我最近有很多“NoClassDefFoundError”并且不知道从哪里开始挖掘。我最初认为必须使用Classloader,但在第二天重新部署应用程序后,异常消失了。
以下是我拥有的jsf2.0 maven依赖项列表:
<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>
以下是我最近获得的例外情况:
java.lang.NoClassDefFoundError: com / sun / faces / context / RequestParameterValuesMap在 com.sun.faces.context.ExternalContextImpl.getRequestParameterValuesMap(ExternalContextImpl.java:347) 在 org.primefaces.renderkit.SelectManyRenderer.decode(SelectManyRenderer.java:39) 在 javax.faces.component.UIComponentBase.decode(UIComponentBase.java:787) 在javax.faces.component.UIInput.decode(UIInput.java:757)at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1181) 在javax.faces.component.UIInput.processDecodes(UIInput.java:662)
在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在javax.faces.component.UIForm.processDecodes(UIForm.java:225)
在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 org.primefaces.component.layout.Layout.processDecodes(Layout.java:238) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 org.primefaces.component.layout.Layout.processDecodes(Layout.java:238) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 在 javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
对此有任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
经过一些研究后,我认为这是Primefaces 3.2中的一个错误但不确定。所以我升级到3.3.1并将我的mojarra升级到2.1.14。我目前没有这个问题。