StackG
StackG

Reputation: 2858

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/ProvisionNode

I'm running some very old legacy code, which has worked in the past. This time, it's giving me the following error

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/ProvisionNode

The line that causes the error is

public static org.apache.log4j.Logger getLogger(java.lang.String name) { /* compiled code */ }

in the Logger class defined by log4j. I have log4j 1.2.17 included in the code, which is the most up-to-date version according to maven.

Has anyone else seen this error? Any idea what it could be? Thanks!!

Please note this problem has now been solved, the solution accepted below solves the problem. This is a specific issue with the ProvisionNode class, which is found in only certain log4j libraries. It should be left here and NOT marked as duplicate for others who encounter the same problem.

Upvotes: 2

Views: 26367

Answers (2)

Yauheni Leaniuk
Yauheni Leaniuk

Reputation: 456

In my case I forgot to remove <provided> tag from my maven dependencies, so It cannot find anything on local machine

Upvotes: 0

LittlePanda
LittlePanda

Reputation: 2507

  1. Download the Apache Logging Jar file
  2. Add the apache-logging-log4j.jar file to your classpath
  3. Clean and build your project.
  4. Run your project

Upvotes: 3

Related Questions