MAVEN工程JAR包丢失问题

当在Tomcat服务器上运行一个Maven工程并尝试添加另一个已成功运行的工程时,遇到运行失败并报错。尽管检查发现项目依赖的JAR包是完整的,但问题根源在于Eclipse部署时缺少了某些JAR。解决方案包括:查看Tomcat服务器的发布路径,找到临时工程,在lib目录中发现缺少的JAR包,然后从原始工程的target/工程名/WEB-INF/lib目录复制完整JAR包到Tomcat的临时目录,并确保先执行Maven的install命令。

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

问题背景:
Tomcat 服务器运行一个Maven工程后,重新加入另一个之前能够运行的Maven工程一直失败,并报一下错误.

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:529)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:511)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:139)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4888)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

开始的时候自然右键项目,build path 查看项目所依赖的jar包,发现jar包是完整的。
经过一番琢磨,才发现原来是eclipse发布工程的时候缺失了相应的jars.

解决方法为:

1:右键tomcat服务器,查看服务发布的路径。

这里写图片描述

2.在该路径下找到发布的临时工程
这里写图片描述

3.找到相应的工程的lib目录,发现jar包变少了,直接在该工程的target/工程名/WEB-INF/lib/下把完整的jar包拷贝到tomcat服务器发布的临时目录下去。(在target下找完整的jar包前记得run as–>maven install)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值