You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Dave Kennedy <da...@dksy.net> on 2006/06/08 02:07:05 UTC

java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagInfo

The Servlet Exception is displayed running SimpleExample.jsp
Any help would be greatly appreciated
 
SET CATALINA_HOME=C:\Program Files\Apache Software
Foundation\jakarta-tomcat-5.5.9
SET JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06
 
http://localhost:8080/stuff09/SimpleExample.jsp
 
javax.servlet.ServletException:
javax.servlet.jsp.tagext.TagInfo.<init>(Ljava/lang/String;Ljava/lang/Str
ing;Ljava/lang/String;Ljava/lang/String;Ljavax/servlet/jsp/tagext/TagLib
raryInfo;Ljavax/servlet/jsp/tagext/TagExtraInfo;[Ljavax/servlet/jsp/tage
xt/TagAttributeInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Strin
g;[Ljavax/servlet/jsp/tagext/TagVariableInfo;Z)V
 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 
root cause 
java.lang.NoSuchMethodError:
javax.servlet.jsp.tagext.TagInfo.<init>(Ljava/lang/String;Ljava/lang/Str
ing;Ljava/lang/String;Ljava/lang/String;Ljavax/servlet/jsp/tagext/TagLib
raryInfo;Ljavax/servlet/jsp/tagext/TagExtraInfo;[Ljavax/servlet/jsp/tage
xt/TagAttributeInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Strin
g;[Ljavax/servlet/jsp/tagext/TagVariableInfo;Z)V
 
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryIn
foImpl.java:435)
 
org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImp
l.java:248)
 
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.
java:162)
 
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
 
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
 
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543)
        org.apache.jasper.compiler.Parser.parse(Parser.java:126)
 
org.apache.jasper.compiler.ParserController.doParse(ParserController.jav
a:211)
 
org.apache.jasper.compiler.ParserController.parse(ParserController.java:
100)
 
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.ja
va:556)
 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja
va:293)
 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 
SimpleExample.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- 
Illustration of very simple JSP custom tag. 
   
Taken from Core Servlets and JavaServer Pages
from Prentice Hall and Sun Microsystems Press,
http://www.coreservlets.com/.
&copy; 2000 Marty Hall; may be freely used or adapted.
-->
<HTML>
<HEAD>
 
<%@ taglib uri="csajsp-taglib.tld" prefix="csajsp" %>
 
<TITLE><csajsp:example /></TITLE>
<LINK REL=STYLESHEET
      HREF="JSP-Styles.css"
      TYPE="text/css">
</HEAD>
 
<BODY>
<H1><csajsp:example /></H1>
<csajsp:example />
 
</BODY>
</HTML>
 
csajsp-taglib.tld
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
 PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
 "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
 
<!-- a tag library descriptor -->
 
<taglib>
  <!-- after this the default space is
        "http://java.sun.com/j2ee/dtds/jsptaglibrary_1_2.dtd"
   -->
 
  <tlibversion>1.0</tlibversion>
  <jspversion>1.1</jspversion>
  <shortname>csajsp</shortname>
  <!-- ** CHANGED FROM "urn" TO "uri" IN TOMCAT 3.1 ** -->
  <uri></uri>
  <info>
    A tag library from Core Servlets and JavaServer Pages,
    http://www.coreservlets.com/.
  </info>
 
<!--
  <tag>
    The name (after prefix) tag will have in JSP code
    <name>example</name>
 
    The actual class implementing tag. In
    Tomcat 3.1 beta, it MUST be in a package.
    <tagclass>coreservlets.tags.ExampleTag</tagclass>
 
    Descriptive information about tag.
    <info>Simplest example: inserts one line of output</info>
 
    One of three values describing what goes between
    start and end tag. 
      empty: no body 
      JSP: body that is evaluated by container normally,
           then possibly processed by tag
      tagdependent: body is only processed by tag;
                    JSP in body is not evaluated. 
    ** NOTE: TOMCAT 3.1 FINAL DOES NOT SUPPORT BODYCONTENT **
    ** THE BETA SUPPORTED IT, AND IT IS PART OF SPEC, BUT... **
    <bodycontent>empty</bodycontent>
  </tag>      
-->
 
  <tag>
    <name>example</name>
    <tagclass>coreservlets.tags.ExampleTag</tagclass>
    <info>Simplest example: inserts one line of output</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>empty</bodycontent> -->
  </tag>      
 
  <tag>
    <name>simplePrime</name>
    <tagclass>coreservlets.tags.SimplePrimeTag</tagclass>
    <info>Outputs a random 50-digit prime.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>empty</bodycontent> -->
  </tag>
 
  <tag>
    <name>prime</name>
    <tagclass>coreservlets.tags.PrimeTag</tagclass>
    <info>Outputs a random N-digit prime.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
    <bodycontent>empty</bodycontent> -->
    <attribute>
      <name>length</name>
      <required>false</required>
    </attribute>
  </tag>
 
  <tag>
    <name>heading</name>
    <tagclass>coreservlets.tags.HeadingTag</tagclass>
    <info>Outputs a 1-cell table used as a heading.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>JSP</bodycontent> -->
    <attribute>
      <name>bgColor</name>
      <required>true</required>  <!-- bgColor is required -->
    </attribute>
    <attribute>
      <name>color</name>
      <required>false</required>
    </attribute>
    <attribute>
      <name>align</name>
      <required>false</required>
    </attribute>
    <attribute>
      <name>fontSize</name>
      <required>false</required>
    </attribute>
    <attribute>
      <name>fontList</name>
      <required>false</required>
    </attribute>
    <attribute>
      <name>border</name>
      <required>false</required>
    </attribute>
    <attribute>
      <name>width</name>
      <required>false</required>
    </attribute>
  </tag>
 
  <tag>
    <name>debug</name>
    <tagclass>coreservlets.tags.DebugTag</tagclass>
    <info>Includes body only if debug param is set.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>JSP</bodycontent> -->
  </tag>
 
  <tag>
    <name>filter</name>
    <tagclass>coreservlets.tags.FilterTag</tagclass>
    <info>Replaces HTML-specific characters in body.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>JSP</bodycontent> -->
  </tag>
 
  <tag>
    <name>repeat</name>
    <tagclass>coreservlets.tags.RepeatTag</tagclass>
    <info>Repeats body the specified number of times.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>JSP</bodycontent> -->
    <attribute>
      <name>reps</name>
      <required>true</required>
      <!-- rtexprvalue indicates whether attribute
           can be a JSP expression. -->
      <rtexprvalue>true</rtexprvalue>
    </attribute>
  </tag>
 
  <tag>
    <name>if</name>
    <tagclass>coreservlets.tags.IfTag</tagclass>
    <info>if/condition/then/else tag.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>JSP</bodycontent> -->
  </tag>
 
  <tag>
    <name>condition</name>
    <tagclass>coreservlets.tags.IfConditionTag</tagclass>
    <info>condition part of if/condition/then/else tag.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>JSP</bodycontent> -->
  </tag>
 
  <tag>
    <name>then</name>
    <tagclass>coreservlets.tags.IfThenTag</tagclass>
    <info>then part of if/condition/then/else tag.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>JSP</bodycontent> -->
  </tag>
 
  <tag>
    <name>else</name>
    <tagclass>coreservlets.tags.IfElseTag</tagclass>
    <info>else part of if/condition/then/else tag.</info>
    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT 
    <bodycontent>JSP</bodycontent> -->
  </tag>
 
</taglib>
 
 
 

Re: java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagInfo

Posted by Marc Farrow <ma...@gmail.com>.
looks like you have your tag library set up for a certain version of the tag
library jars, but the jars are a different version.  Check there to start
with.

On 6/7/06, Dave Kennedy <da...@dksy.net> wrote:
>
> The Servlet Exception is displayed running SimpleExample.jsp
> Any help would be greatly appreciated
>
> SET CATALINA_HOME=C:\Program Files\Apache Software
> Foundation\jakarta-tomcat-5.5.9
> SET JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06
>
> http://localhost:8080/stuff09/SimpleExample.jsp
>
> javax.servlet.ServletException:
> javax.servlet.jsp.tagext.TagInfo.<init>(Ljava/lang/String;Ljava/lang/Str
> ing;Ljava/lang/String;Ljava/lang/String;Ljavax/servlet/jsp/tagext/TagLib
> raryInfo;Ljavax/servlet/jsp/tagext/TagExtraInfo;[Ljavax/servlet/jsp/tage
> xt/TagAttributeInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Strin
> g;[Ljavax/servlet/jsp/tagext/TagVariableInfo;Z)V
>
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>
> root cause
> java.lang.NoSuchMethodError:
> javax.servlet.jsp.tagext.TagInfo.<init>(Ljava/lang/String;Ljava/lang/Str
> ing;Ljava/lang/String;Ljava/lang/String;Ljavax/servlet/jsp/tagext/TagLib
> raryInfo;Ljavax/servlet/jsp/tagext/TagExtraInfo;[Ljavax/servlet/jsp/tage
> xt/TagAttributeInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Strin
> g;[Ljavax/servlet/jsp/tagext/TagVariableInfo;Z)V
>
> org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryIn
> foImpl.java:435)
>
> org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImp
> l.java:248)
>
> org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.
> java:162)
>
> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
>
> org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
>
> org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543)
>        org.apache.jasper.compiler.Parser.parse(Parser.java:126)
>
> org.apache.jasper.compiler.ParserController.doParse(ParserController.jav
> a:211)
>
> org.apache.jasper.compiler.ParserController.parse(ParserController.java:
> 100)
>
> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
>        org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
>        org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
>        org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
>
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.ja
> va:556)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja
> va:293)
>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
>
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>
> SimpleExample.jsp
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <!--
> Illustration of very simple JSP custom tag.
>
> Taken from Core Servlets and JavaServer Pages
> from Prentice Hall and Sun Microsystems Press,
> http://www.coreservlets.com/.
> &copy; 2000 Marty Hall; may be freely used or adapted.
> -->
> <HTML>
> <HEAD>
>
> <%@ taglib uri="csajsp-taglib.tld" prefix="csajsp" %>
>
> <TITLE><csajsp:example /></TITLE>
> <LINK REL=STYLESHEET
>      HREF="JSP-Styles.css"
>      TYPE="text/css">
> </HEAD>
>
> <BODY>
> <H1><csajsp:example /></H1>
> <csajsp:example />
>
> </BODY>
> </HTML>
>
> csajsp-taglib.tld
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> <!DOCTYPE taglib
> PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
> "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
>
> <!-- a tag library descriptor -->
>
> <taglib>
> <!-- after this the default space is
>        "http://java.sun.com/j2ee/dtds/jsptaglibrary_1_2.dtd"
>   -->
>
> <tlibversion>1.0</tlibversion>
> <jspversion>1.1</jspversion>
> <shortname>csajsp</shortname>
> <!-- ** CHANGED FROM "urn" TO "uri" IN TOMCAT 3.1 ** -->
> <uri></uri>
> <info>
>    A tag library from Core Servlets and JavaServer Pages,
>    http://www.coreservlets.com/.
> </info>
>
> <!--
> <tag>
>    The name (after prefix) tag will have in JSP code
>    <name>example</name>
>
>    The actual class implementing tag. In
>    Tomcat 3.1 beta, it MUST be in a package.
>    <tagclass>coreservlets.tags.ExampleTag</tagclass>
>
>    Descriptive information about tag.
>    <info>Simplest example: inserts one line of output</info>
>
>    One of three values describing what goes between
>    start and end tag.
>      empty: no body
>      JSP: body that is evaluated by container normally,
>           then possibly processed by tag
>      tagdependent: body is only processed by tag;
>                    JSP in body is not evaluated.
>    ** NOTE: TOMCAT 3.1 FINAL DOES NOT SUPPORT BODYCONTENT **
>    ** THE BETA SUPPORTED IT, AND IT IS PART OF SPEC, BUT... **
>    <bodycontent>empty</bodycontent>
> </tag>
> -->
>
> <tag>
>    <name>example</name>
>    <tagclass>coreservlets.tags.ExampleTag</tagclass>
>    <info>Simplest example: inserts one line of output</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>empty</bodycontent> -->
> </tag>
>
> <tag>
>    <name>simplePrime</name>
>    <tagclass>coreservlets.tags.SimplePrimeTag</tagclass>
>    <info>Outputs a random 50-digit prime.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>empty</bodycontent> -->
> </tag>
>
> <tag>
>    <name>prime</name>
>    <tagclass>coreservlets.tags.PrimeTag</tagclass>
>    <info>Outputs a random N-digit prime.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>empty</bodycontent> -->
>    <attribute>
>      <name>length</name>
>      <required>false</required>
>    </attribute>
> </tag>
>
> <tag>
>    <name>heading</name>
>    <tagclass>coreservlets.tags.HeadingTag</tagclass>
>    <info>Outputs a 1-cell table used as a heading.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>JSP</bodycontent> -->
>    <attribute>
>      <name>bgColor</name>
>      <required>true</required>  <!-- bgColor is required -->
>    </attribute>
>    <attribute>
>      <name>color</name>
>      <required>false</required>
>    </attribute>
>    <attribute>
>      <name>align</name>
>      <required>false</required>
>    </attribute>
>    <attribute>
>      <name>fontSize</name>
>      <required>false</required>
>    </attribute>
>    <attribute>
>      <name>fontList</name>
>      <required>false</required>
>    </attribute>
>    <attribute>
>      <name>border</name>
>      <required>false</required>
>    </attribute>
>    <attribute>
>      <name>width</name>
>      <required>false</required>
>    </attribute>
> </tag>
>
> <tag>
>    <name>debug</name>
>    <tagclass>coreservlets.tags.DebugTag</tagclass>
>    <info>Includes body only if debug param is set.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>JSP</bodycontent> -->
> </tag>
>
> <tag>
>    <name>filter</name>
>    <tagclass>coreservlets.tags.FilterTag</tagclass>
>    <info>Replaces HTML-specific characters in body.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>JSP</bodycontent> -->
> </tag>
>
> <tag>
>    <name>repeat</name>
>    <tagclass>coreservlets.tags.RepeatTag</tagclass>
>    <info>Repeats body the specified number of times.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>JSP</bodycontent> -->
>    <attribute>
>      <name>reps</name>
>      <required>true</required>
>      <!-- rtexprvalue indicates whether attribute
>           can be a JSP expression. -->
>      <rtexprvalue>true</rtexprvalue>
>    </attribute>
> </tag>
>
> <tag>
>    <name>if</name>
>    <tagclass>coreservlets.tags.IfTag</tagclass>
>    <info>if/condition/then/else tag.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>JSP</bodycontent> -->
> </tag>
>
> <tag>
>    <name>condition</name>
>    <tagclass>coreservlets.tags.IfConditionTag</tagclass>
>    <info>condition part of if/condition/then/else tag.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>JSP</bodycontent> -->
> </tag>
>
> <tag>
>    <name>then</name>
>    <tagclass>coreservlets.tags.IfThenTag</tagclass>
>    <info>then part of if/condition/then/else tag.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>JSP</bodycontent> -->
> </tag>
>
> <tag>
>    <name>else</name>
>    <tagclass>coreservlets.tags.IfElseTag</tagclass>
>    <info>else part of if/condition/then/else tag.</info>
>    <!-- TOMCAT 3.1 DOES NOT SUPPORT BODYCONTENT
>    <bodycontent>JSP</bodycontent> -->
> </tag>
>
> </taglib>
>
>
>
>
>


-- 
Marc Farrow