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
javax.servlet.ServletException: java.lang.NoClassDefFoundError: JspException
提问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:
此代码的第二行在标题中产生错误。这是我的图书馆:
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。然后刷新您的项目。它现在应该删除此异常。