今天重装mye2017后,重新导入工程时,报如下错误:
看到导包的地方报错,说明是jar包问题,根据报错信息
Cannot find the class file for javax.servlet.http.HttpServletRequest
//找不到javax.servlet.http.HttpServletRequest相关的class文件
查询javax.servlet相关的jar包:servlet-api.jar,将servlet-api.jar导入项目后以为就木有问题了,
结果原先的问题不见了,新问题又出现了
主要报错信息如下
Cannot find the class file for javax.servlet.jsp.JspWriter
//找不到javax.servlet.jsp.JspWriter的class文件
还是熟悉的味道,少导jar包了,javax.servlet.jsp依赖jar包:jsp-api.jar
再次导入jsp-api.jar,项目应该不会报错了。
果然,工程没有红叉了,然而当把工程部署导tomcat上时时,
主要报错信息如下:
Could not publish to the server.
Tomcat version 8.5 requires Java SE 7 or later.
//不能发布server,因为tomcat8.5要求jdk 7或者以上版本
再看看项目用的时jdk 6,所以重新配置tomcat 6.
重新部署项目,启动tomcat,没有报错,但是访问项目时又又报错了……
主要报错信息如下:
Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: org.apache.taglibs.standard.tlv.JstlCoreTLV cannot be cast to javax.servlet.jsp.tagext.TagLibraryValidator
然后问度娘 说的是可能在tomcat服务器中也有jar包 ,可能与项目的jar包有冲突,找到tomcat的lib,果然有刚刚导入的两个jar包
那现在问题来了,如果不导jar包,项目会报错,如果导包了,又会jar包冲突,要肿么办?
从度娘找到了解决办法,先把冲突的jar包删除
项目没有报错了,重新跑起来后,能正常访问了,
换个mye2017 真心不容易啊,终于正常了!