2012-09-19 11 views
22

Il mio server applicazioni ibm websphere. Ricevo il seguente errore nei registri del server delle applicazioni. Dove posso le impostazioni websphere?Percorso classe contiene più associazioni SLF4J

[19.09.2012 14: 56: 54: 940 EEST] 0000000a SystemErr R SLF4J: percorso classe contiene più binding SLF4J.
[19.09.2012 14: 56: 54: 940 EEST] 0000000a SystemErr R SLF4J: associazione trovata in [wsjar: file:/C: /Lib/slf4j-log4j12-1.6.1.jar!/Org/slf4j/impl /StaticLoggerBinder.class]
[19.09.2012 14: 56: 54: 941 EEST] 0000000a SystemErr R SLF4J: associazione trovata in [bundleresource: //217.fwk37356669: 1/org/slf4j/impl/StaticLoggerBinder.class]
[19.09.2012 14: 56: 54: 941 EEST] 0000000a SystemErr R SLF4J: Vedere http://www.slf4j.org/codes.html#multiple_bindings per una spiegazione.

+1

Hai visitato il link suggerito e ha avuto senso? Stai facendo questa domanda per ottenere aiuto per determinare da dove vengono i due attacchi? Si può vedere uno è C: /Lib/slf4j-log4j12-1.6.1.jar. L'altro è, penso, un riferimento OSGi. Stai correndo con Eclipse/RAD? Quale versione di WebSphere? – dbreaux

+2

No, non sto chiedendo il collegamento. Uso di RAD8 e WAS8. Ho messo sotto la cartella C: /Lib/slf4j-log4j12-1.6.1.jar Ma non farlo [bundleresource:// 217.fwk37356669: – aliplane

+0

I fuound una risposta migliore a quella domanda [qui] (http: //stackoverflow.com/questions/22293550/websphere-multiple-slf4j-logback-bindings-work-around). Ci scusiamo per riprendere la domanda, ma ora sto affrontando esattamente lo stesso problema! – elTomato

risposta

13

sfortunatamente, websphere ha un sacco di librerie di uso comune nella propria installazione. Spesso sono in conflitto con le versioni che si desidera utilizzare nella propria applicazione.

Le opzioni sono rimuovere i file di libreria dall'applicazione e utilizzare ciò che Websphere fornisce o modificare le impostazioni del caricatore di classi in "genitore scorso" per assicurarsi che le librerie libs in bundle con l'app vengano trovate per prime. (questo non eliminerà l'avviso di slf4j, ma assicurerà che la tua implementazione sia utilizzata).

Spiacente, non posso dare maggiori dettagli su dove sono state trovate le impostazioni (sono alcuni anni che ho lavorato per l'ultima volta con websphere).

+0

Grazie! Questo è esattamente quello che sospettavo. – asgs

0

Sta rimuovendo una delle classi in conflitto dall'orecchio con l'opzione della console "Rimuovi file" e selezionando l'intero jar (lib/slf4j-log4j12-1.7.2.jar). Funzionerà dopo il riavvio dell'applicazione.