2011-11-28 20 views
8

Estoy usando clojure.tools.logging para una aplicación web. Durante mucho tiempo funciona bien, con org.clojure/tools.logging "0.1.2". Comienzo y paro y luego reinicio clojure repl [lein repl] para varias veces para fines de prueba de desarrollo. De repente, repl arroja el siguiente error. Actualizo la biblioteca de registro a org.clojure/tools.logging "0.2.3", pero no uso. Aún recibo el mismo error, solo dio este error en la réplica, pero, con la aplicación en ejecución, los registros funcionan bien. No pude identificar dónde está el problema.NoClassDefFoundError con clojure tools logging

Estoy usando lo4j con clojure.tools.logging.

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

Respuesta

13

Agregando a: unot en el archivo project.clj funcionó para mí.

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

Esto funciona para mí también. ¡Gracias! –

+0

funcionó para mí también. Probablemente debería ser la respuesta aceptada. – Jeb

6

Yo trataría de lavar limpio, y luego tomar deps, y luego seguir compilando y finalmente copiar. Si eso no funcionaba, intentaría eliminar manualmente los directorios lib y classes, y luego ejecutar lein deps, leer compilación y luego volver a encontrar lein repl.

+1

Probé estos pasos antes, pero, ¡no sirve! –

+0

Yuck, ¿su código hace referencia directa a clojure.tools.logging.impl.LoggerFactory? De ser así, encuentre el jarro de registro de clojure y ábralo como un archivo zip, y busque la clase LoggingFactory. Si existe, pero está en un paquete diferente, actualice su código. Si no está allí, entonces tendrá que investigar con qué reemplazarlo. Si su código no hace referencia a él, y no está en el archivo jar, entonces es probable que haya un error en el proyecto, y debe preguntarle a los responsables al respecto. – Bill

+0

Además, ¿puede publicar las dependencias de su proyecto clj? – Bill

0

Sé que esto es un viejo, pero me acabo de encontrar con el mismo problema y al parecer ~/.lein/profiles.clj también estaba teniendo algún tipo de conflicto con log4j. Lo borré por completo y comenzó a funcionar.