maven使用tomcat7插件编译jsp出错

创建一个maven的web应用,然后写了一个jsp,然后使用tomcat7:run运行项目, 访问jsp页面的时候报了这样一个错:

Unable to compile class for JSP 

The type java.util.Map$Entry cannot be resolved.

搜索之后大概是jdk版本比较高(1.8)而tomcat插件版本比较低的原因。

检查自己的环境:

tomcat插件:tomcat7-maven-plugin  版本2.0

jdk编译器插件:maven-compiler-plugin source和target都设置成1.8

尝试修复:

1. 搜索maven tomcat8插件,没有

2. 搜索maven tomcat8,找到一篇文章,说明如何在eclipse maven工程里面部署项目到maven8:

https://stackoverflow.com/questions/39873651/deploy-maven-project-in-tomcat8-in-eclipse

没有尝试。

3. 继续查看其它jsp编译出错的搜索结果,找到一个线索:

https://stackoverflow.com/questions/19243458/unable-to-compile-class-for-jsp-the-type-java-util-mapentry-cannot-be-resolved

apache-tomcat-7.0.35 does NOT have support for JDK8

apache-tomcat-7.0.50 DOES have support for JDK8.

版本7还是支持jdk8的,于是想到自己添加tomcat7插件的时候,随意的选中了一个低版本的,检查了一下,自己用的是2.0,可选的高版本有2.2的。

4. 将tomcat7插件改成2.2版本的,重启项目,访问jsp,问题解决。

验证了一下,

tomcat7插件2.2版本对应的tomcat版本是7.0.47

tomcat7插件2.0版本对应的tomcat版本是7.0.30

(版本信息在控制台启动信息里面可以看到)

你可能感兴趣的:(maven使用tomcat7插件编译jsp出错)