令新手头痛的java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet错误...

       最近在学习springMVC,做helloworld实例的时候运行服务器一直报:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet错误,我百度了该类位于spring-webmvc.jar包下,经过检查我确信我添加了该包进入项目。

百度了 大量的解决方案,最终我尝试了包所需要的jar包放到lib包下,然后refresh了一下项目,就可以成功通过编译,就解决了这个问题。

       思考:平时我都是build path   JAR包,这个操作以后,jar包都在(如图)下,我查看了下,Lib包下是空空如也的,但是为什么我把JAR包放在Lib包就可以了呢?

           原因:referenced librarier下面的包jar包是为了让你能通过编译,如果在该包下没有spring等jar包,项目中写到相应的函数时候,就不会提示和补全,自然也就不会通过编译了。而Lib包中的jar文件时被tomcat等服务器加载的,在运行动态网页项目的时候,服务器加载此包下的jar文件,所以会报java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet的根本原因是在Lib中找不到相应的JAR文件,加载不到文件。

           总结:在编辑项目的时候,eclipse加载referenced libraries下的JAR文件来通过编译

                     在运行服务器的时候,需要加载lib包下的JAR文件来运行项目,也就是说编译和运行时候为项目加载的JAR文件路径不一样。

转载于:https://www.cnblogs.com/ToBeBetterPerson/p/9092062.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值