使用Idea新建了一个springmvc的项目,但是启动的时候报这个异常。 Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- ClassNotFoundException:说明没有找到这个类,但是在web.xml没有异常,并且还能进入到spring的监听类中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
</web-app>
百度后发现其实ecplise中也有过这种问题,jar明明在却就是找不到,最后的解决方案发现tomcat的应用下面没有lib这个文件夹,导致jar无法放进去,从而出现的这个问题。
服务器报错信息:
23-Jul-2018 10:27:28.858 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [org.springframework.web.context.ContextLoaderListener]
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
按照上面ecplise发生的错误,检查idea的配置(推测是因为jar没有放入web-inf下面)
因为项目在编写时没有出现问题,应该是在打包发布的时候出现了问题
如下图可以看到WEB-INF文件下并没有lib目录,而在右边显示可用的元素
- 那么接下来右键右面的HelloWorld,并选择Put into Output Root(非常重要,否则相关jar包不能进行发布)
然后我们就可以在web-inf小面看到我们添加的jar包
那么接下来再启动我们的Tomcat
问题完美解决