javax.servlet.ServletException: java.lang.NoClassDefFoundError: JspException

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19503779/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-12 17:48:43  来源:igfitidea点击:

javax.servlet.ServletException: java.lang.NoClassDefFoundError: JspException

javajakarta-eetomcatservlets

提问by John Roberts

I have the following piece of code:

我有以下一段代码:

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(address);
dispatcher.forward(req,res);

The second line of this code produces the error in the title. Here are my Libraries:

此代码的第二行在标题中产生错误。这是我的图书馆:

enter image description here

在此处输入图片说明

And here is my pom.xml:

这是我的 pom.xml:

<dependencies>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-servlet-api</artifactId>
        <version>7.0.39</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-api</artifactId>
        <version>7.0.39</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-catalina</artifactId>
        <version>7.0.39</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-el-api</artifactId>
        <version>7.0.30</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jasper-el</artifactId>
        <version>7.0.30</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc</artifactId>
        <version>3.59.81</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc_license_cu</artifactId>
        <version>3.59.81</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc_license_cisuz</artifactId>
        <version>3.59.81</version>
        <scope>provided</scope>
    </dependency>

</dependencies>

Here is the stack trace:

这是堆栈跟踪:

java.lang.NoClassDefFoundError: JspException
    java.lang.Class.getDeclaredMethods0(Native Method)
    java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
    java.lang.Class.privateGetPublicMethods(Class.java:2651)
    java.lang.Class.getMethods(Class.java:1467)
    java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1280)
    java.beans.Introspector.getTargetMethodInfo(Introspector.java:1141)
    java.beans.Introspector.getBeanInfo(Introspector.java:416)
    java.beans.Introspector.getBeanInfo(Introspector.java:163)
    org.apache.jasper.compiler.Generator$TagHandlerInfo.<init>(Generator.java:3957)
    org.apache.jasper.compiler.Generator$GenerateVisitor.getTagHandlerInfo(Generator.java:2212)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1643)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1773)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2452)
    org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:639)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3503)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    MT_Servlet.gotoPage(MT_Servlet.java:160)
    MT_TasEntryServlet.doPost(MT_TasEntryServlet.java:1562)
    MT_TasEntryServlet.doGet(MT_TasEntryServlet.java:45)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    MT_Servlet.gotoPage(MT_Servlet.java:160)
    MT_TBLServletController.doPost(MT_TBLServletController.java:217)
    MT_TBLServletController.doGet(MT_TBLServletController.java:31)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

Does anyone see the issue?

有没有人看到这个问题?

采纳答案by Aneta St?pień

javax.servlet.JspException is included in the jsp-api.jar (you can also find containing jars here). For more information have a look at this answer.

javax.servlet.JspException 包含在 jsp-api.jar 中(您也可以在此处找到包含 jars 的内容)。有关更多信息,请查看此答案

回答by user2821894

Add jsp-api.jar into your class path from tomcat lib directory. Right click your project-properties-buildpath-add external jars- go to tomcat lib directory and selece jsp-api.jar. Then refresh your project. It should remove this exception now.

将 jsp-api.jar 从 tomcat lib 目录添加到您的类路径中。右键单击您的项目-属性-构建路径-添加外部 jars-转到 tomcat lib 目录并选择 jsp-api.jar。然后刷新您的项目。它现在应该删除此异常。