zoukankan      html  css  js  c++  java
  • Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法

    我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器。之前部署web项目到tomcat进行启动调试都很正常,今天突然出现无法启动情况,启动过程报如下错误:

    Java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
        at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
        at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

    大家常用的做法是,project clean 。maven clean maven install

    其实仔细分析报错的原因是类找不到,该类依赖于spring-web-XXXX.jar,看了下maven依赖库,该依赖是存在的,那是怎么回事,然后再看tomcat目录下的webapps中部署的项目,项目已经部署成功,相应的class文件和静态文件都有了,但仔细一看,在WEB-INF下缺少了lib文件夹,才明白为什么找不到org.springframework.web.context.ContextLoaderListener类了。

    为什么在eclipse中启动tomcat时没有将lib拷贝过来,想想之前碰到了项目部署设置的问题。解决办法如下:

     右击项目->properties->找到Deployment Assembly,右边便是编译打包的配置,看是不是缺少了lib库的依赖,我的就是,点击Add,添加maven依赖库。最后列表如下

    再重新启动tomcat,启动成功!

  • 相关阅读:
    Chrome 29 新功能一览
    7 款免费的 Metro UI 模板
    JPG渐进 & PNG/PNG24 交错测试
    你的钱,以后是放银行还是放支付宝?
    Bise IE6 在你的网站上加上它让IE滚蛋吧
    单例模式常见场景
    10 个最新的开发者工具
    大流量网站的底层系统架构
    DNS解析全过程及原理
    IE条件注释详解
  • 原文地址:https://www.cnblogs.com/chihirotan/p/6087883.html
Copyright © 2011-2022 走看看