SpringMVC Maven项目 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServl

今天在搭建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.DispatcherServletat 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 S t a r t C h i l d . c a l l ( C o n t a i n e r B a s e . j a v a : 1575 ) a t o r g . a p a c h e . c a t a l i n a . c o r e . C o n t a i n e r B a s e StartChild.call(ContainerBase.java:1575)at org.apache.catalina.core.ContainerBase StartChild.call(ContainerBase.java:1575)atorg.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1565)at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142at 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. 最后需再次检查最上面描述两个问题的地方是否有重现,如有,重复步骤;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值