zoukankan      html  css  js  c++  java
  • SpringMVC Maven项目 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServle

    今天在搭建SpringMVC开发框架时,遇到了一个问题,尽管在maven的POM.xml文件中配置了项目所依赖的jar包,但在启动项目是已然报错如下:

    信息: Starting Servlet Engine: Apache Tomcat/7.0.56
    十一月 27, 2017 3:19:14 下午 org.apache.catalina.util.SessionIdGenerator createSecureRandom
    信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [187] milliseconds.
    十一月 27, 2017 3:19:14 下午 org.apache.catalina.core.ApplicationContext log
    信息: Marking servlet springmvc as unavailable
    十一月 27, 2017 3:19:14 下午 org.apache.catalina.core.StandardContext loadOnStartup
    严重: Servlet /CRM threw load() exception
    java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
        at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:506)
        at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:488)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:115)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1148)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5231)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5518)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
    
    十一月 27, 2017 3:19:14 下午 org.apache.coyote.AbstractProtocol start
    信息: Starting ProtocolHandler ["http-bio-8080"]
    十一月 27, 2017 3:19:14 下午 org.apache.coyote.AbstractProtocol start
    信息: Starting ProtocolHandler ["ajp-bio-8009"]
    十一月 27, 2017 3:19:14 下午 org.apache.catalina.startup.Catalina start
    信息: Server startup in 630 ms

    发现问题是spring所需要的包,maven已经下载到本地库了,但是,项目启动时引用不到。

    解决方案如下:
    **工程名上右击 -> Properties -> Deployment Assembly,
    Add -> Java Build Path Entries -> next -> 选择maven Dependencies**

    我的项目到这一步修改完就可以正常运行了,但发现有人说这时候还可能存在一点小问题,虽然spring jar在工程有被引用进来了,但是代码中无法引用类库,该问题的解决方法如下:
    **1. 工程名上右击 -> maven -> Disable Maven Nature;
    2. 工程名上右击 -> Configure -> Convert to maven project;
    3. 最后需再次检查最上面描述两个问题的地方是否有重现,如有,重复步骤;**

  • 相关阅读:
    K
    CFileDialog的用法
    MFC编辑框换行实现
    MFC通过对话框窗口句柄获得对话框对象指针
    AfxGetMainWnd()函数用法
    this指针和m_hWnd的区别
    WinAPI: FindWindow、FindWindowEx
    深入浅出Hibernate(二)多对一关系映射
    JAVA 并发编程-读写锁之模拟缓存系统(十一)
    很easy的js双向绑定框架(二):控制器继承
  • 原文地址:https://www.cnblogs.com/wqsbk/p/7904350.html
Copyright © 2011-2022 走看看