2010-02-25 7 views
0

La migration vers GlassFish v3/JDK6u18/NB6.8 me fait beaucoup de tête, et je suis assez confus maintenant. Mon projet (JSF, RichFaces, Spring) fonctionne bien avec GlassFish v2 + JDK6u17. J'utilise les mêmes fichiers JAR et la même version JSF.L'application JSF 1.2 ne fonctionne pas avec GlassFish v3

Un de mes JSP contient une <rich:tree>, cela rend très bien, mais si je posterai les valeurs sur cette page je reçois:

 
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) 
     .... 

Sur mon autre page quelque chose de similaire se passe. Il contient un <h:selectManyCheckbox>, qui rediffuse d'autres choses en cas de changement de valeur. Donc, en cas de présenter je reçois quelque chose comme ceci:

 
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) 
     .... 

J'ai essayé de combiner les versions de JSF/RichFaces, mais juste de conduire tous les mêmes.

Toute aide serait appréciée!

Répondre

2

Glassfish v3 est livré avec JSF 2.0, ce qui peut causer des problèmes. Si vous voulez utiliser JSF 1.2 avec Glassfish v3, vous devez ajouter un sun-web.xml dans le dossier WEB-INF:

<?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 Merci beaucoup! Cela fonctionne bien maintenant! –

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) 

j'utiliser la dépendance suivante

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 

Solution: si vous utilisez WebSphere 7.0 serveur d'application vous avez modifié le paramètre suivant

1) démarrez WebSphere 7.0 2) exécutez adminstartor 3) serveur -> serveurs d'applications Websphere -> server1 - (ouvrir notre fichier EAR d'application)

4) chute de la politique classloader vers le bas changement "mutiple"

5) Mode de chargement de classe déroulante chnage à « classe chargée avec chargeur de classe locale premier (parent dernier)

il va commencer l'application

+0

Veuillez éditer votre réponse. Ce n'est pas tout le code. –

Questions connexes