• 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包
  • 相关阅读:
    Android开发--Layout元素
    Android开发--RelativeLayout的应用
    group by调优的一些测试
    mysql explain中key_len的计算
    mysql索引长度的一些限制
    order by调优的一些测试
    metadata lock
    JDBC连接数据库
    Java—Map.Entry
    innodb buffer pool
  • 原文地址:https://www.cnblogs.com/xiezhidong/p/6183820.html
Copyright © 2020-2023  润新知