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
Solution
Follow the steps below to fix this issue.
- Find tomcat-juli.jar file in Tomcat installation folder (C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\bin)
- Unzip it and check if there is LogFactory class
- If the class doesn’t exist, download it from Apache website
- 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
