Exception no Servlet ao rodar aplicação no tomcat 6.0.16

9 respostas
Paulo_Faulstich

Dae pessoal.

Estou tendo um problema bem legal e ainda não encontrei resposta.

Bom vou tentar explicar o que ocorre.

Criei uma aplicação web utilizando eclipse + hibernate + postgres etc

Bom quando terminei a aplicação gerei um arquivo “.war” na minha maquina, fui no console do tomcat e fiz deploy da mesma. Show de bola tudo funcionando bem bunito.

Quando fui fazer o deploy dessa mesma aplicação no servidor que tem a mesma versão do tomcat o mesmo usuario, senha e password do banco a criatura esta dando essa exception.

javax.servlet.ServletException: java.lang.AbstractMethodError: 
javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:274)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:42)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.AbstractMethodError: 
javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
        at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
        at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
        at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        ... 16 more

Alguém sabe se esta faltando configurar alguma coisa?

Agradeço,

Abração.

9 Respostas

robinsonbsilva

a versão do java nessa máquina é a mesma que do ambiente de “desenvolvimento”?

Paulo_Faulstich

É exatamente a mesma.

1.6

Meu palpite é o seguinte. no diretório lib do toncat já eistem algumas bibliotecas acho que as minhas bibliotecas podem estar conflitando com alguma dessas que já está no server.

Mas não tenho certeza.

:stuck_out_tongue:

maschiojv

verifique também se a versão do tomcat é a mesma, se sim veja se no classpath do teu projeto tem alguma classe do pacote javax.servlet que vem de um jar, se sim novamente, não deixe esse jar dentro da pasta WEB-INF/lib, coloque em outro lugar. Se isso não resolver… sei la dai :slight_smile:

Paulo_Faulstich

Fala amigão.

O tomcat é a mesma versão.

Cara olha só o teste que eu fiz.

Peguei todo o diretório lib do tomcat que estava no servidor e coloquei no lib do tomcat da minha maquina e adivinha funcionou o troço novamente na minha maquina, mas no server ta dificil de achar o problema.

Vou continuar tentando.

Vlw a ajuda até agora.

maschiojv

Mas antes de você fazer isso tinha alguma classe do pacote javax.servlet no teu classpath que vinha de um jar?

Paulo_Faulstich

Pior que não.

Esse jar só esta presente na pasta lib do tomcat.

Obg.

Paulo_Faulstich

Pior que não.

Esse jar só esta presente na pasta lib do tomcat.

Obg.

Paulo_Faulstich

Dae pessoal, problema resolvido.

O problema era que no servidor tinha outra aplicação em java que usava uma versão mais antiga do jsp, com isso quando eu fazia o deploy da minha aplicação nova e tentava o acesso a minha nova aplicação dava exception já mencionada anteriormente. O que eu achei meio ruim é o fato do tomcat pegar as bibliotecas de outra aplicação que não tem nada que ver com a minha aplicação nova, se as bibliotecas estivessem no diretório lib do tomcat tudo bem … mas não as biblitecas estavam no webapps do tomcat junto com a outra aplicação.

Tendo em vista tudo isso apenas exclui as lib do projeto mais velho e deixei rodando uma versão mais nova do jsp, lógico que testei para ver se isso não ia afetar minha aplicação antiga.

Abraços.

fabriciobraga

Obrigado por postar o problema e também a solução! Estava com o mesmo problema, e resolvi removendo a aplicação antiga do container…

Achei péssimo o fato de uma aplicação intereferir na outra.

Criado 30 de abril de 2009
Ultima resposta 17 de jun. de 2009
Respostas 9
Participantes 4