tomcat6下布署网站的一点小问题

部署网站至Tomcat6.0.32时遇到EL jar包冲突问题,表现为LinkageError异常,具体涉及不同版本的EL API及实现库。本文详细介绍了冲突的原因,并给出了解决方案,即移除项目中特定的EL相关jar包,统一使用Tomcat自带的EL实现。

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

将原来tomcat5.5.29上的网站部署到tomcat6.0.32是,有时会因为el的jar包冲突导致无法运行:

出错信息类似:

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/OnDuty/wfmanage_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
	org.apache.jsp.OnDuty.wfmanage_jsp._jspInit(wfmanage_jsp.java:27)
	org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

 

原因是项目中WEB-INF\lib中的三个jar包(el-api-1.0.jar
juel-api-2.1.2.jar
juel-impl-2.1.2.jar
)和tomcat6下lib中jar包(el-api.jar)冲突
解决方法:删除el-api-1.0.jar
juel-api-2.1.2.jar
juel-impl-2.1.2.jar
el 统一用tomcat6/lib下的。

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值