项目自带servlet-api.jar和jsp-api.jar,发布到tomcat下冲突

项目在Tomcat下运行时,由于自带的servlet-api.jar和jsp-api.jar与Tomcat内置版本冲突导致错误。错误表现为无法读取TLD文件,报JasperException。解决方法是升级Tomcat版本至7,避免版本不匹配引发的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.servlet-api.jar的作用

首先,根据度娘提供的信息:【servlet-api.jar是支持servletjar包。

你如果编写过servlet就知道要用到HttpServletRequestHttpServletResponse等对象,这些对象都是要靠这个jar包才能使用的。如果你安装了Tomcat,这个jar包一般在tomcat安装目录\lib 文件夹下面有,当你把web项目部署到tomcat,会自动加载这个jar包来识别Serlvet一些对象。

 

说明,tomcat本身自带了servlet-api.jar,而且在加载的时候是优先加载的。这时就应该想到,servlet-api.jar的版本与tomcat的版本有很大关系。如果项目启动或是运行的时候servlet-api.jar报错了的话,原因也有可能是项目提供的servlet-api.jartomcat自带的servlet-api.jar发生了冲突。(此处jsp-api.jar报错原因与servlet-api.jar完全相同)

 

 

2.遇到的问题

tomcat可以正常启动项目,但是却跑不起来。后台报错:

【 Unable to read TLD "META-INF/c.tld" from JAR file "file:/D:/tomcat6.0.41/apache-tomcat-6.0.41/webapps/hrmanage/WEB-INF/lib/jstl-1.2.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV 

 

前台也一样:

 

 

 

3.解决办法:

直接采用tomcat7运行项目,弃用原本采用的tomcat6

 

4.来自网友的同类问题

 



 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值