Maven报错org.apache.jasper.JasperException: Unable to compile class for JSP

今天药忘吃喽~ 2022-10-14 01:11 343阅读 0赞

解决Jsp运行org.apache.jasper.JasperException: Unable to compile class for JSP:问题
初学Maven就遇到困难了!!!在b站跟着视频开始接触maven来创建一个webapp项目,在jsp跳转的时候遇到一个bug,身边也没大佬带,只能自己慢慢摸索,在Maven项目中出现了报org.apache.jasper.JasperException: Unable to compile class for JSP:的问题,在网上查了很多方法来尝试解决,但天资愚钝无法理解大佬的跳转思维,后面某论坛看到解决放方案。

链接:https://blog.csdn.net/u011781521/article/details/53713162

一、问题描述

eclipse通过maven插件创建一个WEB项目通过内嵌Tomcat加载项目,启动没问题,一访问页面就报错提示无法将jsp编译为class文件:

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 1 in the generated java file
The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files

Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

**

  • 错误的原因为:tomcat6不支持jdk1.8版本

**

我pom.xml文件里明明配置的是Tomcat7啊!! 怎么是tomcat6运行去了。。。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.itheima</groupId>
  6. <artifactId>maven_java</artifactId>
  7. <version>1.0-SNAPSHOT</version>
  8. <packaging>war</packaging>
  9. <name>maven_java Maven Webapp</name>
  10. <!-- FIXME change it to the project's website -->
  11. <url>http://www.example.com</url>
  12. <properties>
  13. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  14. <maven.compiler.source>1.7</maven.compiler.source>
  15. <maven.compiler.target>1.7</maven.compiler.target>
  16. </properties>
  17. <dependencies>
  18. <dependency>
  19. <groupId>junit</groupId>
  20. <artifactId>junit</artifactId>
  21. <version>4.11</version>
  22. <scope>test</scope>
  23. </dependency>
  24. <dependency>
  25. <groupId>javax.servlet</groupId>
  26. <artifactId>servlet-api</artifactId>
  27. <version>2.5</version>
  28. <scope>provided</scope>
  29. </dependency>
  30. <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
  31. <dependency>
  32. <groupId>javax.servlet.jsp</groupId>
  33. <artifactId>jsp-api</artifactId>
  34. <version>2.1</version>
  35. <scope>provided</scope>
  36. </dependency>
  37. </dependencies>
  38. <build>
  39. <finalName>maven_java</finalName>
  40. <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
  41. <plugins>
  42. <plugin>
  43. <artifactId>maven-clean-plugin</artifactId>
  44. <version>3.1.0</version>
  45. </plugin>
  46. <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
  47. <plugin>
  48. <artifactId>maven-resources-plugin</artifactId>
  49. <version>3.0.2</version>
  50. </plugin>
  51. <plugin>
  52. <artifactId>maven-compiler-plugin</artifactId>
  53. <version>3.8.0</version>
  54. </plugin>
  55. <plugin>
  56. <artifactId>maven-surefire-plugin</artifactId>
  57. <version>2.22.1</version>
  58. </plugin>
  59. <plugin>
  60. <artifactId>maven-war-plugin</artifactId>
  61. <version>3.2.2</version>
  62. </plugin>
  63. <plugin>
  64. <artifactId>maven-install-plugin</artifactId>
  65. <version>2.5.2</version>
  66. </plugin>
  67. <plugin>
  68. <artifactId>maven-deploy-plugin</artifactId>
  69. <version>2.8.2</version>
  70. </plugin>
  71. <plugin>
  72. <groupId>org.apache.tomcat.maven</groupId>
  73. <artifactId>tomcat7-maven-plugin</artifactId>
  74. <version>2.2</version>
  75. </plugin>
  76. </plugins>
  77. </pluginManagement>
  78. </build>
  79. </project>

注意: 如果你的版本是tomcat7-maven-plugin 2.0 的话,由于它不支持 jdk 1.8,所以把它换成 tomcat7-maven-plugin 2.2就行了。

二、解决方法

找了下发现原来是这里出了问题!!!

把它改为: tomcat7:run 就行了,就不会报错了

发表评论

表情:
评论列表 (有 0 条评论,343人围观)

还没有评论,来说两句吧...

相关阅读