在学习spring的时候,使用的是eclipse+maven+springmvc+tomcat来测试的,但是在部署到tomcat上的时候报错:

java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1722)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1573)
	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:5267)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5557)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

其实在eclipse中配置server的时候,eclipse会把web项目自动转发到工作空间:.metadata\.plugins\org.eclipse.wst.server.core\的这个目录中。

配置到tomcat的工作目录下的方法:


在Tomcat v7.0... 上右击选择 open,如下图所示


在 Server Locations中选择第二项,就可以将项目部署到tomcat工作目录下。


错误的解决办法:

发生该错误的原因是在部署tomcat时,maven所加载的依赖包没有拷贝到tomcat所对应的工程目录里,可以在eclipse中配置一下:

工程上右击 -> Properties -> Deployment Assembly:


之后选择 Add -> Java Build Path Entries->Maven Denpendencies->OK。

之后在eclipse下可以正常启动tomcat。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐