分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

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

发布时间:2023-09-06 02:02责任编辑:沈小雨关键词:jsjsp编译class

一、问题描述:

先交代开发环境,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

原文地址:https://www.cnblogs.com/bk-jin/p/maven.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved