3.x richfaces sous 8.1 weblogic
-
20-09-2019 - |
Question
J'ai développé un petit projet destiné à être exécuté sous weblogic 8.1. Richfaces selon la documentation indique qu'il prend en charge weblogic 8.1.
Weblogic 8.1 utilise la spécification de servlet 2.3 avec jsp 1.2 Cela a travaillé sur ma version installée localement 8.1 weblogic mais lors du déploiement sur le serveur Sparc, je commence à courir des ennuis. Je travaille à travers quelques-uns des maux de tête initiaux, mais je suis arrivé une erreur 500 et nous ne pouvions pas obtenir les détails. Mais après un certain effort, je suis venu avec cette ...
javax.servlet.ServletException: javax/servlet/jsp/JspContext at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:344) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152) at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6987) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
JspContext
ne fait pas partie de jsp 1.2 il est plus récent. Je pense cette exception est à l'origine un ClassNotFoundException
ou quelque chose de similaire tenant compte du message. Il n'y a pas « cause » attachée à l'exception.
Voici les nouveaux fichiers jar contenus dans mon application web.
antlr-2.7.6.jar asm-1.5.3.jar asm-attrs-1.5.3.jar cglib-2.1_3.jar commons-beanutils-1.6.jar commons-collections-3.2.jar commons-digester-1.5.jar commons-lang-2.4.jar commons-logging-1.0.3.jar dom4j-1.6.1.jar ehcache-1.2.3.jar hibernate-3.2.4.sp1.jar jsf-api-1.1_02.jar jsf-impl-1.1_02.jar jstl-1.0.jar jta-1.1.jar log4j-1.2.15.jar richfaces-api-3.1.6.SR1.jar richfaces-impl-3.1.6.SR1.jar richfaces-ui-3.1.6.SR1.jar xercesImpl-2.9.1.jar xml-apis-1.3.04.jar
Je suis à court d'options, je vais essayer de savoir qui a la dépendance à l'égard de la classe JspContext
... mais si quelqu'un pouvait me donner un aperçu, il serait grandement apprécié. Oh, je ne peux pas faire beaucoup de changements au serveur logique Web de production. Je préfère ne pas faire du tout, les chances sont que ces changements seront denied
Oh cette erreur se produit lorsque vous tentez d'afficher la page, si le déploiement est réussie.
La solution
Ok, je l'ai résolu mon problème. Pas la façon dont je voulais, mais ça fonctionne (atleast ce que je sais en ce moment).
Après avoir utilisé Google (encore une fois) j'ai trouvé un commentaire avec quelqu'un de mentionner en utilisant richfaces 3.0.1. Maintenant, je l'ai vu beaucoup de gens disent la version xxx même usage 3.3.x. Après tout ce que je ne le faire fonctionner avec 3.1.6, mais sur la version Windows de weblogic (qui aurait pu peut-être été contaminé par une autre version weblogic J'ai installé).
J'ai donc modifié mon pom Maven à dépendre:
<groupId>org.richfaces</groupId> <artifactId>richfaces</artifactId> <version>3.0.1</version>
Ce n'est pas optimale, mais je Geuss cela fonctionne. Quelques références de taglibrary nécessaires changer, et les paquets ont changé dans une certaine mesure.
Je pourrais poster ma configuration de projet pour ce si quelqu'un a besoin jamais. Obtenir tout cela pour travailler sur weblogic 8.1 n'a pas été simple. Mais la documentation de référence pour 3.1.6 est à ma connaissance incorrecte en disant qu'il appuie weblogic 8.1
Autres conseils
jsp-api-2.1.jar
contient la classe manquante, vous pouvez essayer de l'utiliser (soit le remplacer dans weblogic ou essayez dans votre / lib), mais je ne peux pas prédire ce qui arriverait.