Maven项目不能编译jsp解决方法:Unable to compile class for JSP

Posted bk_jin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven项目不能编译jsp解决方法:Unable to compile class for JSP相关的知识,希望对你有一定的参考价值。

一、问题描述:

先交代开发环境,JDK是1.8的,IDE是eclipse 4.7,web服务器是Tomcat 9.0,maven是3.5.0,搭建好环境后输入命令tomcat:run,然后就报org.apache.jasper.JasperException: Unable to compile class for JSP错误。

二、分析问题:

(1)不能编译应该是没有导入servlet-api、jsp-api包的原因,然后就在pom文件中加上servlet-api、jsp-api包,为了防止包冲突,需要把<scope>改成provided。

 1 <dependency>
 2     <groupId>javax.servlet</groupId>
 3     <artifactId>servlet-api</artifactId>
 4     <version>2.5</version>
 5     <scope>provided</scope>
 6 </dependency>
 7 <dependency>
 8     <groupId>javax.servlet</groupId>
 9     <artifactId>jsp-api</artifactId>
10     <version>2.0</version>
11     <scope>provided</scope>
12 </dependency>

加上之后还是不行,然后就开始找度娘,开始第二个解决方案。

(2)eclipse默认用的是自带的jre,需要我们自己改成下载好的JDK,在Window->Preference->Java->Installed JREs中添加自己下载的JDK并删除eclipse自带的jre。如图:

运行之后还是不行,之后百度的大部分都是类似的解决方案,全部都不行,只好自己慢慢探索,从项目搭建到运行仔细检查一遍,终于发现问题。

原来maven默认使用的是Tomcat6,而我使用的是JDK1.8,Tomcat6不能与JDK1.8一起使用。只要将Tomcat的版本调高就行了。

(3)使用maven的Tomcat7插件:在pom文件中加上一下代码即可:

 1 <build>
 2     <plugins>
 3         <plugin>
 4             <groupId>org.apache.maven.plugins</groupId>
 5             <artifactId>maven-compiler-plugin</artifactId>
 6             <version>3.1</version>
 7             <configuration>
 8                 <source>1.8</source>
 9                 <target>1.8</target>
10                 <encoding>utf-8</encoding>
11             </configuration>
12         </plugin>
13         <plugin>
14             <groupId>org.apache.tomcat.maven</groupId>
15             <artifactId>tomcat7-maven-plugin</artifactId>
16             <version>2.2</version>
17         </plugin>
18     </plugins>
19 </build>

然后将maven命令改为Tomcat7:run就行了。

 

以上是关于Maven项目不能编译jsp解决方法:Unable to compile class for JSP的主要内容,如果未能解决你的问题,请参考以下文章

maven用框架编写网页运行出现HTTP Status 500 - Unable to compile class for JSP

maven unable to compile class for jsp 解决办法

org.apache.jasper.jasperexception: unable to compile class for jsp问题

Spring Boot Maven Plugin打包异常及三种解决方法:Unable to find main class

tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案

IDEA Unable to import maven project 解决方法