2012-12-11 6 views
17

mio pom.xml contiene un solo riferimento a SLF4J:Impossibile caricare la classe "org.slf4j.impl.StaticLoggerBinder" - Quale percorso di classe?

<dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-jdk14</artifactId> 
     <version>1.5.10</version> 
    </dependency> 

sto ottenendo questo errore:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J:

See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

ho controllato l'URL e in effetti fornisce una soluzione: "Posizionamento uno (e uno solo) di slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar o logback-classic.jar sul percorso della classe dovrebbe risolvere il problema. "

La mia domanda è: quale classe di percorso?

  • Il sistema %CLASSPATH%? (Non ne ho uno! Dovrò crearlo appositamente per questo)
  • Il progetto di Eclipse .classpath? (Penso di aver provato questo, ma non ha aiutato)
  • Altro?

ho trovato molto a few messaggi sul tema here su SO, ma tutti indicano la stessa risposta: "posto ... sul percorso della classe".

Quale percorso classe?

+1

Si sta utilizzando Maven con Eclipse.? –

+0

@KonstantinosMargaritis Sì, sto usando Maven con Eclipse: '1.' Eclipse 3.7.2' 2.' Maven 2.2.1 '3.' m2e plugin 1.2.0.20120903-1050. Qualche idea su come risolvere questo errore * senza * l'impostazione predefinita dell'implementazione del logger no-operation (NOP) SLF4J? Grazie. – Withheld

+1

Stai utilizzando il logback o qualcos'altro. Ti sto chiedendo per parlarti delle dipendenze. –

risposta

13

Prima di tutto al fine di aggiungere SLF4J si dovrebbe mettere ONE e solo ONE di queste dipendenze nel vostro pom.xml. Dipende da quale implementazione si sceglie di utilizzare. Ogni dipendenza aggiunta nel pom.xml viene aggiunta automaticamente nel classpath. Finché si utilizza Eclipse non è necessario modificare% CLASSPATH% del sistema?

<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-classic</artifactId> 
    <version></version> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version></version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version></version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-jdk14</artifactId> 
    <version></version> 
    <scope>compile</scope> 
</dependency> 

Ultimo ma non meno importante si avrà la SLF4J errore: Impossibile caricare la classe "org.slf4j.impl.StaticLoggerBinder".

Eclipse Juno e Indigo, quando si utilizza la versione di Maven in bundle (M2E), non stanno sopprimendo il messaggio SLF4J: Impossibile caricare la classe "org.slf4j.impl.StaticLoggerBinder". Questo comportamento è presente dalla versione m2e 1.1.0.20120530-0009 e successive.

Anche se questo è indicato come errore, i registri verranno salvati normalmente. L'errore evidenziato sarà ancora presente fino a quando non ci sarà una correzione di questo bug. Maggiori informazioni su questo nello m2e support site.

L'attuale soluzione disponibile per sopprimere questo messaggio consiste nell'utilizzare una versione esterna di Maven anziché la versione in bundle di Eclipse. Puoi trovare informazioni su questa soluzione e maggiori dettagli su questo bug nella domanda qui sotto.

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". error

+3

Grazie per questa eccellente risposta. In primo luogo, risponde alla mia domanda * "quale classpath?" * (Non è necessario seguire il suggerimento del sito di supporto di m2e perché 'slf4j-jdk14' è già referenziato in' pom.xml'?). Secondo, il passaggio n. 3 in [questa risposta] (http://stackoverflow.com/a/12373375/1864054) (link che hai fornito) ha eliminato il messaggio di errore: 'Finestra'>' Preferenze'> 'Maven'>' Installazioni'> Deseleziona 'Incorporato'> Aggiungi ...' Esterno'. – Withheld

+0

@Daniel Sei più che benvenuto.! Se hai bisogno di un altro aiuto con Maven o logging fammi sapere. –

+0

@Ceki Grazie per averlo fatto notare Ceki.! –