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

时间:2018-05-26 11:28:10   收藏:0   阅读:3605

       最近在学习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
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!