3.x RichFaces sotto weblogic 8.1
-
20-09-2019 - |
Domanda
ho sviluppato un piccolo progetto destinato per l'esecuzione in weblogic 8.1. RichFaces secondo la documentazione asserisce che supporta weblogic 8.1.
Weblogic 8.1 utilizza specifiche servlet 2.3 con JSP 1.2 Questo ha lavorato sulla mia versione installata in locale di weblogic 8.1, ma durante la distribuzione al server SPARC, ho iniziare a correre nei guai. Ho lavorato con alcuni dei mal di testa iniziali, ma poi ho ottenuto un errore 500 e si faceva ottenere i dettagli. Ma dopo qualche sforzo sono venuto fuori con questo ...
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
non fa parte del jsp 1.2 è più recente. Sto pensando questa eccezione è in origine un ClassNotFoundException
o qualcosa di simile considerando il messaggio. Non v'è alcun 'causa' attaccato alla eccezione.
In seguito sono i file jar contenuti nella mia applicazione 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
Sto esaurendo di opzioni, cercherò di capire chi ha la dipendenza dalla classe JspContext
... ma se qualcuno mi potrebbe dare qualche informazione sarebbe molto apprezzato. Oh, non posso fare molti cambiamenti al server di produzione web-logica. Preferirei non fare a tutti, è probabile che saranno denied
tali modifiche
Oh, questo errore si verifica quando si tenta di visualizzare la pagina, in modo da distribuzione è successo.
Soluzione
Ok, ho risolto il mio problema. Non è il modo in cui ho voluto, ma che sta funzionando (almeno per quello che so in questo momento).
Dopo aver utilizzato Google (ancora una volta) ho trovato un commento con qualcuno menzionare utilizzando RichFaces 3.0.1. Ora ho visto molte persone dire utilizzare la versione xxx anche 3.3.x. Dopo tutto ho capito lavorare con 3.1.6, ma sulla versione per Windows di weblogic (che avrebbe potuto essere eventualmente contaminato da qualche altra versione weblogic Ho installato).
Così ho modificato il mio pom per Maven per dipendono da:
<groupId>org.richfaces</groupId> <artifactId>richfaces</artifactId> <version>3.0.1</version>
Questa non è ottimale, ma io Geuss funziona. Alcuni riferimenti taglibrary necessari cambiando, e pacchetti cambiati in una certa misura.
ho potuto pubblicare il mio configurazione del progetto per questo se qualcuno mai ha bisogno. Ottenere tutto questo per lavorare su WebLogic 8.1 non è stato semplice. Ma la documentazione di riferimento per 3.1.6 è a mia conoscenza non corretta dicendo che supporta weblogic 8.1
Altri suggerimenti
jsp-api-2.1.jar
contiene la classe mancante, quindi si potrebbe provare ad usarlo (o sostituirlo in weblogic, o provare in / lib), ma non è possibile prevedere cosa sarebbe successo.