2011-11-28 13 views
8

Sto utilizzando clojure.tools.logging per un'applicazione Web. Per tempi lunghi funziona bene, con org.clojure/tools.logging "0.1.2". Avvio e interruzione, quindi riavviare il clojure repl [lein repl] per più volte a scopo di test di sviluppo. Improvvisamente, repl getta dopo l'errore. Aggiorno la libreria di registrazione a org.clojure/tools.logging "0.2.3", ma, inutile. Ancora ottengo lo stesso errore, Ha dato solo questo errore sul repl, ma, con l'applicazione in esecuzione, i log funzionano bene. Non riesco a identificare dov'è il problema.NoClassDefFoundError con registrazione strumenti clojure

Sto usando lo4j con clojure.tools.logging.

java.lang.NoClassDefFoundError: clojure/tools/logging/impl/LoggerFactory (NO_SOURCE_FILE:0) 

risposta

13

Aggiungendo a: aot nel file project.clj ha funzionato per me.

:aot [clojure.tools.logging.impl ...] 
+0

Anche questo funziona per me. Grazie! –

+0

Ha funzionato anche per me. Probabilmente dovrebbe essere la risposta accettata. – Jeb

6

Vorrei provare lein clean, quindi lein deps, quindi lein compilare e infine lein repl. Se ciò non dovesse funzionare, proverei a cancellare manualmente le directory lib e classes, quindi eseguire lein deps, lein compile e quindi lein repl di nuovo.

+1

Ho provato prima questi passaggi, ma, inutile! –

+0

Yuck, il tuo codice fa riferimento direttamente a clojure.tools.logging.impl.LoggerFactory? In tal caso, trovare il jar di registrazione del clojure e aprirlo come archivio zip e cercare la classe LoggingFactory. Se esiste, ma è in un pacchetto diverso, aggiorna il tuo codice. Se non è lì, allora dovrai cercare con cosa sostituirlo. Se il tuo codice non lo fa riferimento, e non è nel file jar, allora è probabile che ci sia un bug nel progetto, e dovresti chiederlo ai manutentori. – Bill

+0

Inoltre, puoi pubblicare le dipendenze dal tuo file clj di progetto? – Bill

0

So che questo è un vecchio, ma ho appena incontrato lo stesso problema e apparentemente ~/.lein/profiles.clj era anche avere una sorta di conflitto con log4j. L'ho eliminato completamente e ha iniziato a funzionare.

Problemi correlati