2016-05-31 13 views
0

Click here to see the logsWährend JUnit-Tests Laufen bekomme ich Fehler java.lang.NoClassDefFoundError: org.apache.log4j.Priority

ich folgende Gläser in meinem JUnit-Test bin mit

log4j-api-2.3.jar
log4j-Core-2.3.jar
junit-4.10.jar
ojdbc6.jar
openjpa-all-2.1.1.jar

sehe ich, dass Klasse org.apache.log4j.Priority nicht existieren in Log4j 2.3 Version? Dann änderte ich den Wert für die Eigenschaft openjpa.Log von log4j auf "DefaultLevel = WARN, Laufzeit = INFO, Tool = INFO, SQL = TRACE" in persistence.xml und ich sehe den Fehler nicht mehr. Kann jemand die Ursache für den Fehler angeben und auch, wie das Ändern des Werts für Eigenschaft openjpa.log das Problem löste?

Antwort

0

org.apache.log4j.Priority ist eine Klasse in Log4j 1.x. Wenn Sie log4j-1.2-api-2.3.jar einfügten, sollte der Fehler verschwinden.

Wenn Sie openjpa.log einstellen, konfigurieren Sie OpenJPA, um Log4j 1.x für die Protokollierung zu verwenden. Wenn Sie die Konfiguration geändert haben, hat OpenJPA festgestellt, dass sie stattdessen ihre grundlegende Protokollierungsimplementierung verwenden soll.

http://openjpa.apache.org/builds/1.2.3/apache-openjpa/docs/ref_guide_logging.html diskutiert dies.