ssh项目java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoade错误

错误:

   导入别人的ssh项目后出现java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoade错误,

错误发生条件:

   别人是用myeclipse10版本,我是用eclipse4.6.0版本运行他的ssh项目,并且他的jar是放在lib目录下的文件夹,也就是说jar包不放在

lib根目录下,而是放在lib目录下的文件夹里。如图:

 

错误发生原因:

  在myeclipse中,会自动扫描lib目录下的所有文件夹的所有jar包,然后编译和运行程序都可以。

 而在eclipse中,必须将jar包放在lib目录下,这样程序在运行的时候才能找到jar包,不然即便用Java Build Path (Java Build Path是我们编译需要的包)

导入过的包,没放到lib下,运行项目时会出现ClassNotFoundException的异常.

这里涉及到:eclipse中Java Build Path导入包和把包复制到lib下是有区别的,具体可以参考:Eclipse下把jar包放到工程lib下和通过buildpath加载有什么不同

 

 问题解决:

方法一:用myeclipse运行项目

方法二:如果习惯用eclipse,那么就采取Eclipse中用User Library管理jar包

 

具体步骤(以下内容转自:http://www.cnblogs.com/littlecharacter/archive/2016/06/01/5549059.html):

目的:为了更方便的管理jar包,而不是一股脑儿的将引用的jar包全部放在Web App Library下。

管理和配置:

第一步:管理

新建Library并引入项目中

右键项目->Build Path->Configure Build Path->Add Library->User Library->User Libraries->New->命名->Add External JARs->选jar包->ok,finish,apply

第二步:装配配置

自定义Library不会在项目发布时自动加载到lib下面,会导致启动报错

解决方法:Web Deployment Assembly(Web部署装配)

右键项目->Properties->Deployment Assembly->Add->Java Build Path Entries->选中自定义Library,finish,apply,ok

再次启动,ok

 

---------------------------------------------------------------------------------------------------------------------------------------

以下可以忽略:

其他解决:

1.若项目的主人是用maven创建spring项目,

解决办法:
项目 —> 属性 -> Deployment Assembly -> Add -> Java Build Path Entries -> 选择Maven Dependencies -> Finish -> OK
把对应的Maven依赖包也发布到tomcat,调试时会自动把那些jar发布到指定目录下,tomcat也能找到那些jar了。
参考:
 
2.第二种情况:
缺少spring-web.jar包
posted @   思维焦点  阅读(1337)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示