Eclipse项目常见问题处理

本文主要介绍了Eclipse项目中遇到的jar包冲突问题及其解决方案,包括log4j与slf4j的版本冲突、JBPM4与SSH整合时的expression factory class not found异常,以及Maven项目在Tomcat部署时的lib目录问题。通过删除或替换冲突的jar包,以及调整项目配置,可以成功解决这些问题。

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

错误一:Description Resource Path Location Type Archive for required library: '文件路径’is not a validate ZIP file

这个错误的原因是因为Maven库没有更新的原因,找到路径下的文件,删除,然后更新一下项目,把里面的jar包更新即可

错误二:Maven项目下update maven后Eclipse报错:

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

问题背景

工程为maven工程,ContextLoaderListener类位于spring-web-3.1.0.RELEASE.jar包中。检查了maven的pom.xml,依赖引入正常。在工程Maven Dependencies视图中也能看到spring-web-3.1.0.RELEASE.jar包被正常引入进来了。

错误原因:

进入到tomcat的部署路径.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\下检查了一下,发现工程部署后在WEB-INF文件夹下没有生成lib目录,正常情况下,会生成lib目录并把工程的所有依赖jar包都部署到该目录下。

解决方案:

1.右键点击项目--选择Properties

选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries

2.点击Next,选择Maven Dependencies

3.点击Finish,然后可以看到已经把Maven Dependencies添加到Web应用结构中了

操作完后,重新部署工程,不再报错了。然后我们再到.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\目录下,发现工程WEB-INF目录下自动生成了lib目录,并且所有的依赖jar包也都已经部署进来。问题因此解决。

错误三:在使用maven的pom.xml文件导入需要的jbpm4.4的jar包的时候,出现了许多的问题。因为在导入jbpmjar包的过程中,也会产生一些其他的依赖包,所以会有版本冲突的问题,这里、将遇到的几个问题罗列出来,希望也可以帮助大家:

Q1:log4j和slf4j的版本冲突问题
这两个包导入的过程中会有两个包的绑定的jar包,slf4j-log4j,但是启动tomcat的时候会出现提示说版本号的冲突,版本更新之后还是会有这个问题。后来把依赖包slf4j-jdk这个依赖包删了之后就没有这个问题了

Q2:异常:java.lang.LinkageError: loader constraint violation: when resolving interface method

异常:java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/Expression...... 

jbpm4 在tomcat6 下面ssh2 这个错误!

原因是项目中WEB-INF/lib中的三个jar包(juel.jar, juel-engine.jar, juel-impl.jar)和tomcat6下lib中jar包(el-api.jar)冲突

解决方法:方法一:换成tomcat5.5 一点问题也没有了

     方法二:将juel.jar, juel-engine.jar, juel-impl.jar这三个包复制到tomcat6下lib中,并删除原来的el-api.jar,切记要把WEB-INF/lib中的juel.jar, juel-engine.jar, juel-impl.jar删除。不然还是要冲突。

关于JBPM4与S2SH整合的异常:expression factory class not found : javax.el.ELException: expression factory

这些异常就是jar包冲突导致的,解决办法有两种:

    1、第一种解决办法:在你的tomcat目录里面有一个lib的jar包文件夹,tomcat\apache-tomcat-6.0.14\apache-tomcat-6.0.14\lib,里面有一个el.jar的jar包,就是这个jar包和jbpm4的juel-api.jar、juel-engine.jar和juel-impl.jar三个jar包之间的冲突,在配置的时候不要更改tomcat\apache-tomcat-6.0.14\apache-tomcat-6.0.14\lib里面的el.jar包,就放置在这个lib里面,而在导入jbpm4的jar包到project项目里面的时候,去掉WEB-INF里面的lib里面的juel-api.jar、juel-engine.jar三个jar包就不会产生这个异常了!

    2、第二种解决办法就是:将tomcat\apache-tomcat-6.0.14\apache-tomcat-6.0.14\lib里面的el.jar这个jar包删除,将juel-api.jar、juel-engine.jar和juel-impl.jar三个jar包导入到tomcat\apache-tomcat-6.0.14\apache-tomcat-6.0.14\lib里面,然后在导入jbpm4的jar包到WEB-INF的lib里面的时候删除juel-api.jar、juel-engine.jar和juel-impl.jar这三个jar包就可以了,这时候tomcat里面就有了这三个jar包了,不用在WEB-INF里面的lib再去配置了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值