/ / Wie finde ich eine bestimmte org / slf4j / Logger-JAR-Datei aus mehreren Bindungen im Apache Zip? - Java, Apache, Protokollierung, Datei-io

Wie finde ich spezifische org / slf4j / Logger jar Datei aus mehreren Bindungen aus dem Apache zip? - Java, Apache, Protokollierung, Datei-io

Ich benutze Apache PDFBox & POIFSFilesystem welcheextrahiere text aus dem pdfs und exportiere nach excel, aber meine anwendung wirft immer nach dem hinzufügen der jar-dateien apache-log4j-2.8.2-bin den folgenden fehler auf. Möglicherweise konnte ich keine genauen Dateien finden.! pls vorschlagen.

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/Logger
at org.apache.logging.slf4j.SLF4JLoggerContext.getLogger(SLF4JLoggerContext.java:39)
at org.apache.logging.log4j.jcl.LogAdapter.newLogger(LogAdapter.java:34)
at org.apache.logging.log4j.jcl.LogAdapter.newLogger(LogAdapter.java:30)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:52)
at org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40)
at org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:80)

Nach dem Hinzufügen von SLF4J-1.7.25. Ich habe unter Fehler. Es ist mehr als 9k Zeilen.

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/apache-log4j-2.8.2-bin/log4j-slf4j-impl-2.8.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/slf4j-1.7.25/slf4j-android-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/slf4j-1.7.25/slf4j-jcl-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/slf4j-1.7.25/slf4j-jdk14-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/slf4j-1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/slf4j-1.7.25/slf4j-nop-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/slf4j-1.7.25/slf4j-simple-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Exception in thread "main" java.lang.StackOverflowError
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:122)
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)

Antworten:

0 für die Antwort № 1

java.lang.NoClassDefFoundError

Im Allgemeinen bedeutet dies, dass die JAR-Datei nicht korrekt bereitgestellt wird. Laden Sie die JAR-Datei slf4j von herunter slf4j.org/download und versuche es noch mal. Außerdem ist es immer besser, so etwas zu verwenden Maven um all Ihre Abhängigkeiten aufzulösen, damit diese Probleme vermieden werden können.