idea调试web项目时出现:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL解决方案

问题症状:

当我在使用idea调试springMVC项目时控制台输出如下错误信息

07-May-2019 09:31:54.892 严重 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
07-May-2019 09:31:54.892 严重 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [/spring_war_exploded] startup failed due to previous errors

查看Tomcat Localhost Log日志时显示

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1363)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1186)
	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:540)
    ...

也就是springframework中的ContextLoaderListener没有找到

错误原因:

我检查了一下,发现工程部署后在WEB-INF文件夹下没有生成lib目录,正常情况下,会生成lib目录并把工程的所有依赖jar包都部署到该目录下。

解决方案:

File->Project Structure点击左侧的Artifacts,然后找到Output Layout选项卡

右键单击Available Elements下面的项目名称,选择Put into Output Root

idea调试web项目时出现:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL解决方案_第1张图片

操作之后会发现WEB-INF目录下出现了lib目录

idea调试web项目时出现:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL解决方案_第2张图片

好了,大功告成。重新运行项目就可以了。

                

你可能感兴趣的:(spring)