2010-02-25 29 views
0

遷移到GlassFish v3的/ JDK6u18/NB6.8工作讓我有很多headscratching的,而我現在很困惑。我的項目(JSF,RichFaces,Spring)適用於GlassFish v2 + JDK6u17。我使用相同的JAR和相同的JSF版本。JSF 1.2的應用程序不能與GlassFish的第三版

我的一個JSP的包含<rich:tree>,這使得就好了,但如果我在此頁面上的值,我得到:

 
WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception 
java.lang.IllegalArgumentException: In AbstractTreeDataModel rowIndex must be -1. 
     at org.richfaces.model.AbstractTreeDataModel.setRowIndex(AbstractTreeDataModel.java:52) 
     at org.ajax4jsf.component.UIDataAdaptor.setRowIndex(UIDataAdaptor.java:289) 
     at javax.faces.component.UIData.visitColumnsAndRows(UIData.java:1544) 
     at javax.faces.component.UIData.visitTree(UIData.java:1212) 
     at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457) 
     at javax.faces.component.UIForm.visitTree(UIForm.java:333) 
     at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457) 
     at javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:869) 
     at org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:439) 
     .... 

在我的其他網頁,類似的事情正在發生。它包含一個<h:selectManyCheckbox>,在價值變化的情況下,它會重新渲染一些其他內容。因此,在的提交情況下,我得到這樣的:

 
WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception 
java.lang.NullPointerException 
     at javax.faces.component.UIComponentBase.findComponent(UIComponentBase.java:564) 
     at org.ajax4jsf.component.EventValueExpression.getComponent(EventValueExpression.java:77) 
     at org.ajax4jsf.component.EventValueExpression.getValue(EventValueExpression.java:130) 
     at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:2166) 
     at com.sun.faces.renderkit.RenderKitUtils.renderPassThruAttributesOptimized(RenderKitUtils.java:608) 
     at com.sun.faces.renderkit.RenderKitUtils.renderPassThruAttributes(RenderKitUtils.java:321) 
     at com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.renderOption(SelectManyCheckboxListRenderer.java:328) 
     at com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(SelectManyCheckboxListRenderer.java:177) 
     at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878) 
     .... 

我試着結合JSF/RichFaces的版本,但它只是造成都是一樣的。

任何幫助,將不勝感激!

回答

2

的Glassfish v3具有JSF 2.0捆綁在一起,這樣可能會造成麻煩。如果你想使用JSF 1.2在GlassFish v3的,你必須在WEB-INF文件夾中添加一個sun-web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish 
Application Server 3.0 Servlet 3.0//EN" 
"http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd"> 
<sun-web-app> 
    <class-loader delegate="false"/> 
    <property name="useBundledJsf" value="true"/> 
</sun-web-app> 
+0

應用:d非常感謝你!它現在工作正常! – 2010-02-25 11:37:20

0
Exceptiion Trace :- 
On thread: 'WebContainer : 0' 
com.ibm.websphere.servlet.error.ServletErrorReport: java.lang.NoSuchMethodError: javax/faces/component/UIViewRoot.getComponentResources&#40;Ljavax/faces/context/FacesContext&#59;Ljava/lang/String&#59;&#41;Ljava/util/List&#59; 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1764) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131) 

我使用下面的依賴

commons-codec-1.3.jar 
commons-httpclient-3.1.jar 
cssparser-0.9.5.jar 
guava-r07.jar 
jsf-api-2.0.6-FCS.jar 
jsf-impl-2.0.6-FCS.jar 
jsr250-api-1.0.jar 
richfaces-components-api-4.2.0.Final.jar 
richfaces-components-ui-4.2.0.Final.jar 
richfaces-core-api-4.2.0.Final.jar 
richfaces-core-impl-4.2.0.Final.jar 
sac-1.3.jar 

解決方案:如果您使用WebSphere 7.0應用程序服務器,你已經改變了下面的設置

1)啓動WebSphere 7.0 2)以管理員身份運行 3)服務器 - >的WebSphere Application Server - > server1的 - (打開我們的應用程序EAR文件)

4)類加載器策略下拉更改爲 「多發」

5)類加載模式下拉chnage以「裝載本地類加載器第一(父最後一)班

將開始

+0

請編輯你的答案。這不是所有的代碼。 – 2013-11-18 13:34:25

相關問題