zoukankan      html  css  js  c++  java
  • java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;

    如果你出现类似如下错误

    1. Install tomcat7 in my home directory and set up `CATALINA_HOME`
        environment variable in `.bashrc`
     2. Install oracle-java and setup JAVA_HOME in `.bashrc`
     3. Install Netbeans 7 and import the project in it.
     4. Since, the Netbeans came with `glassfish` as default server, I added
        a tomcat as the server with proper configuration.
     5. I try running the application (through Netbeans), and I receive the following error:
    
    Jun 04, 2013 2:39:58 AM org.apache.catalina.core.AprLifecycleListener init
      2 INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/        lib:/usr/lib
      3 Jun 04, 2013 2:39:59 AM org.apache.coyote.AbstractProtocol init
      4 INFO: Initializing ProtocolHandler ["http-bio-8080"]
      5 Jun 04, 2013 2:39:59 AM org.apache.coyote.AbstractProtocol init
      6 INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
      7 Jun 04, 2013 2:39:59 AM org.apache.catalina.startup.Catalina load
      8 INFO: Initialization processed in 1100 ms
      9 Jun 04, 2013 2:39:59 AM org.apache.catalina.core.StandardService startInternal
     10 INFO: Starting service Catalina
     11 Jun 04, 2013 2:39:59 AM org.apache.catalina.core.StandardEngine startInternal
     12 INFO: Starting Servlet Engine: Apache Tomcat/7.0.40
     13 Jun 04, 2013 2:39:59 AM org.apache.catalina.startup.HostConfig deployDescriptor
     14 INFO: Deploying configuration descriptor /home/frrole/apache-tomcat-7.0.40/conf/Catalina/localhost/ws.xml
     15 Jun 04, 2013 2:39:59 AM org.apache.catalina.startup.HostConfig deployDescriptor
     16 WARNING: A docBase /home/frrole/apache-tomcat-7.0.40/webapps/projectfrrole/target/ws inside the host appBase has been specified, and will be ignored
     17 Jun 04, 2013 2:40:00 AM org.apache.catalina.core.ContainerBase addChildInternal
     18 SEVERE: ContainerBase.addChild: start:
     19 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ws]]
     20     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
     21     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
     22     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
     23     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
     24     at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:657)
     25     at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1636)
     26     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
     27     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
     28     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
     29     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     30     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
     31     at java.lang.Thread.run(Thread.java:722)
     32 Caused by: java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;
     33     at java.lang.Class.getDeclaredFields0(Native Method)
     34     at java.lang.Class.privateGetDeclaredFields(Class.java:2317)
     35     at java.lang.Class.getDeclaredFields(Class.java:1762)
     36     at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
     37     at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
     38     at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
     39     at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
     40     at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
     41     at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
     42     at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
     43     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
     44     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
     45     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269)
     46     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
     47     ... 11 more
     48 Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger
     49     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)

    那么原因暂时有两种:

    1、你的项目没有依赖slf4j-log4j12.jar

    2、如果你依赖了slf4j-log4j12.jar,那么请检测是否也依赖了slf4j-api.jar,他们会冲突,把slf4j-api.jar干掉吧

    相关:

    关于NoClassDefFoundError和ClassNotFoundException异常

  • 相关阅读:
    php操作redis cluster集群成功实例
    js算法-快速排序(Quicksort)
    如何编写自己的虚拟DOM
    一文带你看透kubernetes 容器编排系统
    SpringBoot AOP控制Redis自动缓存和更新
    机器学习中的numpy库
    时间戳转自定义日期格式和刚刚、十分钟前等友好日期格式
    Python数据处理实例
    Spark1.x和2.x如何读取和写入csv文件
    掌握这个Python小技巧,轻松构建cytoscape导入文件
  • 原文地址:https://www.cnblogs.com/langtianya/p/5838493.html
Copyright © 2011-2022 走看看