Solved: Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory

A missing Java class may cause the issue below when you try to compile your project in Eclipse.

A Java Exception has occured
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:37)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 1 more

a2

Solution

Follow the steps below to fix this issue.

  1. Find tomcat-juli.jar file in Tomcat installation folder (C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\bin)
  2. Unzip it and check if there is LogFactory class
  3. If the class doesn’t exist, download it from Apache website
  4. If it exists, copy tomcat-juli.jar file to Tomcat “lib” and JRE “lib” folders:
    C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\lib
    C:\Program Files (x86)\Java\jre1.8.0_101\lib

Leave a Reply