错误:
导入别人的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中JavaBuild 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项目,