• Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener


    Eclipse中tomcat部署工程启动后报错:

    Shell代码  收藏代码
    1. 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener  
    2. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener  
    3.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)  
    4.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)  
    5.     at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)  
    6.     at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)  
    7.     at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)  
    8.     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)  
    9.     at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)  
    10.     at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)  
    11.     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)  
    12.     at java.util.concurrent.FutureTask.run(FutureTask.java:138)  
    13.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)  
    14.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)  
    15.     at java.lang.Thread.run(Thread.java:662)  

    问题背景

    工程为maven工程,ContextLoaderListener类位于spring-web-3.1.0.RELEASE.jar包中。检查了maven的pom.xml,依赖引入正常。在工程Maven Dependencies视图中也能看到spring-web-3.1.0.RELEASE.jar包被正常引入进来了。

    错误原因:

    进入到tomcat的部署路径.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebapps下检查了一下,发现工程部署后在WEB-INF文件夹下没有生成lib目录,正常情况下,会生成lib目录并把工程的所有依赖jar包都部署到该目录下。

    解决方案:

    1.右键点击项目--选择Properties

    选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries。如下图所示:

    2.点击Next,选择Maven Dependencies

    3.点击Finish,然后可以看到已经把Maven Dependencies添加到Web应用结构中了

    操作完后,重新部署工程,不再报错了。然后我们再到.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebapps目录下,发现工程WEB-INF目录下自动生成了lib目录,并且所有的依赖jar包也都已经部署进来。问题因此解决。

  • 相关阅读:
    分布式锁没那么难,手把手教你实现 Redis 分布锁!|保姆级教程
    我去,这么简单的条件表达式竟然也有这么多坑
    MySQL 可重复读,差点就让我背上了一个 P0 事故!
    用了这么多年的 Java 泛型,你对它到底有多了解?
    项目一再跳票?试试这一招:用Deadline倒逼生产力
    Code Review最佳实践
    你的大学会有模拟面试吗?一些常见面试问题背后的逻辑是什么?
    从软件工程的角度解读任正非的新年公开信
    记在美国的一次校园招聘
    为什么软件工程教科书上的内容和现实的软件项目之间存在着一定差异?
  • 原文地址:https://www.cnblogs.com/telwanggs/p/5527757.html
Copyright © 2020-2023  润新知