2016-06-16 17 views
-1

Got unter Fehler beim Upgrade Elasticsearch von 1,7 bis 2.3.3Elastic Suche: java.lang.NoClassDefFoundError: Es konnte keine Klasse org.apache.log4j.LogManager

java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.LogManager 
     at org.apache.log4j.Logger.getLogger(Logger.java:104) 
     at org.elasticsearch.common.logging.log4j.Log4jESLoggerFactory.newInstance(Log4jESLoggerFactory.java:38) 
     at org.elasticsearch.common.logging.ESLoggerFactory.newInstance(ESLoggerFactory.java:82) 
     at org.elasticsearch.common.logging.ESLoggerFactory.getLogger(ESLoggerFactory.java:66) 
     at org.elasticsearch.common.logging.Loggers.getLogger(Loggers.java:121) 
     at org.elasticsearch.common.settings.Settings.<clinit>(Settings.java:63) 

Antwort

0
initialisieren

ich einige log4j Gläser hatte und slf4j jars in classpath, aber Elastic search versucht log4j logger standardmäßig zu laden, wenn es im Klassenpfad verfügbar ist. Bei einigen Konflikten funktionierte log4j nicht für mich. So erzwang Elasticsearch die Verwendung von slf4j Logger beim Erstellen des Clients.

ESLoggerFactory.setDefaultFactory (neues Slf4jESLoggerFactory());

0

i beschlossen, das gleiche Problem, das von unten dependecies in pom.xml Zugabe:

<dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-api</artifactId> 
     <version>2.6.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.6.2</version> 
    </dependency>