今天在学习SpringMVC时,遇到了一个问题,尽管在maven的POM.xml文件中配置了项目所依赖的jar包,但在启动项目是已然报错如下:
java.lang.ClassNotFoundException:org.springframework.web.servlet.DispatcherServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1094)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3099)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:722)
通过上网查找,发现问题是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. 最后需再次检查最上面描述两个问题的地方是否有重现,如有,重复步骤;**