SpringMVC常见问题Error configuring application listener of class org.springframework.web.context.ContextLoaderListenejava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

六月 20, 2018 9:43:34 下午 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

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1858)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1701)

at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504)

at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:486)

at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4984)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

使用maven搭建SpringMVC框架时在Tomcat上运行遇到以上问题,java.lang.ClassNotFoundException,个人以为该问题所在应是找不到类,

一、缺少jar包

二、配置文件出错

 

首先看看maven中是否引入该jar包。


        org.springframework
        spring-core
        4.3.1.RELEASE
   

     
        org.springframework
        spring-web
      4.3.1.RELEASE
        compile
     

     
        org.springframework
        spring-webmvc
      4.3.1.RELEASE
       compile
    

maven的jar包导入情况,检查了一下发现jar没问题

SpringMVC常见问题Error configuring application listener of class org.springframework.web.context.ContextLoaderListenejava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener_第1张图片

这时在检查配置文件,web.xml  配置如下

 


        index.jsp
   


   
         org.springframework.web.context.ContextLoaderListener
   


 
      springmvc
      org.springframework.web.servlet.DispatcherServlet
 

 
 
      springmvc
      /
 

也没发现什么问题,再网上查找资料,看了一下别人的方案;

解决如下:

项目 —> 属性 -> Deployment Assembly -> Add -> Java Build Path Entries -> 选择Maven Dependencies -> Finish -> OK

把对应的Maven依赖包也发布到tomcat,调试时会自动把那些jar发布到指定目录下,tomcat也能找到那些jar了

 

但是我的项目却没有找到Maven Dependedcies选项;

SpringMVC常见问题Error configuring application listener of class org.springframework.web.context.ContextLoaderListenejava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener_第2张图片

 what???咋整?

若引入了,则有可能是因为tomcat发布时没有引入该jar包。

解决如下:

把对应的Maven依赖包也发布到tomcat,调试时会自动把那些jar发布到指定目录下,tomcat也能找到那些jar了。

关闭eclipse,重新部署运行Tomcat,问题就解决了!

但是问题又来了

2018-06-20 22:33:11,487 [org.springframework.web.context.ContextLoader]-[ERROR] Context initialization failed

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

无法找到XML文件,what?

查看了配置

SpringMVC常见问题Error configuring application listener of class org.springframework.web.context.ContextLoaderListenejava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener_第3张图片

 

 仔细看了一下,是无法找到/WEB-INF下的配置?

SpringMVC常见问题Error configuring application listener of class org.springframework.web.context.ContextLoaderListenejava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener_第4张图片

将配置文件复制到WEB-INF下,就可运行成功,为什么呢?maven的配置文件不应都放在resources下吗?

SpringMVC常见问题Error configuring application listener of class org.springframework.web.context.ContextLoaderListenejava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener_第5张图片

SpringMVC的依赖maven配置

<dependency> <groupId>junitgroupId> <artifactId>junitartifactId> <version>3.8.1version> <scope>testscope> dependency> <dependency> <groupId>org.slf4jgroupId> <artifactId>slf4j-log4j12artifactId> <version>1.7.21version> dependency> <dependency> <groupId>javax.servletgroupId> <artifactId>javax.servlet-apiartifactId> <version>3.1.0version> dependency> <dependency> <groupId>javax.servlet.jspgroupId> <artifactId>jsp-apiartifactId> <version>2.2version> dependency> <dependency> <groupId>javax.servletgroupId> <artifactId>jstlartifactId> <version>1.2version> dependency> <dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <version>5.1.35version> dependency> <dependency> <groupId>org.springframeworkgroupId> <artifactId>spring-webartifactId> <version>4.3.1.RELEASEversion> dependency> <dependency> <groupId>org.springframeworkgroupId> <artifactId>spring-webmvcartifactId> <version>4.3.1.RELEASEversion> dependency> <dependency> <groupId>org.apache.commonsgroupId> <artifactId>commons-lang3artifactId> <version>3.4version> dependency> <dependency> <groupId>commons-fileuploadgroupId> <artifactId>commons-fileuploadartifactId> <version>1.3.1version> dependency> dependencies>

 

你可能感兴趣的:(SpringMVC常见问题Error configuring application listener of class org.springframework.web.context.ContextLoaderListenejava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener)