Eclipse & amp; JSP: java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo. & Lt; init > (Ljava / lang / String; ZLjava / lang / String; ZZ) V

StackOverflow https://stackoverflow.com/questions/207565

  •  03-07-2019
  •  | 
  •  

Pregunta

Estoy usando Eclipse 3.4 con WTP 3.0.2 y ejecutando un Proyecto Web Dinámico bastante grande. He configurado el proyecto para poder acceder a él en http://127.0.0.1:8080/share/ pero cuando lo hago, recibo el siguiente error:

  java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.(Ljava/lang/String;ZLjava/lang/String;ZZ)V
  at org.apache.jasper.compiler.TagLibraryInfoImpl.createAttribute(TagLibraryInfoImpl.java:572)
  at org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:401)
  at org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
  at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:162)
  at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
  at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
  at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
  at org.apache.jasper.compiler.Parser.parse(Parser.java:126)
  at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
  at org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
  at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
  at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
  at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
  at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
  at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
  at java.lang.Thread.run(Unknown Source)

Como ninguno de los archivos anteriores es mío, es bastante difícil señalar la causa del problema. ¿Alguna idea de dónde empezar a buscar?

¿Fue útil?

Solución

Terminé respondiendo a mi propia pregunta: el problema era que entre los JAR necesarios que había agregado a Tomcat había un servlet.jar conflictivo. Cuando quité esto, el error desapareció.

Otros consejos

¿Estableciste una ruta Tomcat en " Preferencias- > Tomcat- > Avanzadas > Tomcat base " ?

Intenta limpiar esa ruta (volver a la configuración predeterminada) y comprueba si eso resuelve el problema.

lo más probable es que el complemento tomcat en el eclipse cause el problema del conflicto, logro resolver el problema al obtener el mismo archivo jar de la versión y anularlo en el complemento tomcat en el eclipse.

Tuve un problema similar y solucioné este problema asegurándome de que tengo la versión correcta de servlet.jar en el classpath que está tomando mi aplicación y que también conservé el antiguo J2EE.jar en la ruta de clase y que causaba el problema principal. Por lo tanto, lo eliminé de la ruta de clase para garantizar que utiliza los archivos predeterminados.

Tuve el mismo problema al ejecutar Eclipse Helios, con Maven manejando las dependencias y usando Jetty como servidor web. Después de actualizar a Spring 3.1, de repente tuve este problema, pero solo en mi máquina de desarrollo local.

Primero eliminé las carpetas spring y jetty en mi repositorio local de maven y actualicé las dependencias, pero eso no mejoró la situación.

Luego acabo de eliminar las carpetas servlet-api y servlet-api-2.5 que vienen con jetty (pero dejando todo lo demás), lo hice funcionar.

Todos saludan la magia del classpath.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top