问题描述
访问页面前台报错:
HTTP Status 500 - type Exception report
message
description The server encountered an internal error () that prevented
it from fulfilling this request.exception
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 filesStacktrace:
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)
后台报错:
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException at
org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.(ClassFileReader.java:342)
问题分析
jdk版本1.8,maven配置3.5.3,没有jar包冲突问题,没有问题。
上网查资料发现maven内置的tomcat版本是6
,将版本修改成7
,并向pom文件添加tomcat7的插件配置,可以解决这个问题。
问题解决
向pom.xml添加以下内容:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8888</port>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</build>
此时不能再运行mvn tomcat:run
,否则还是原来的配方,熟悉的错误。
这时需要运行mvn tomcat7:run
。