java: log4j: problema con el ejecutable jar

Mi log4j funciona bien cuando ejecuto "java pakcage.Main" desde la línea de comando, pero cuando ejecuto el mismo programa usando un jar ejecutable como "java -jar myjar.jar" obtengo el siguiente error:

log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly

log4j.jar y log4j.properties están tres en mi manifiesto Class-Path.

Estoy seguro de que funcionó correctamente una vez, pero después de la reconstrucción no funciona.

preguntado el 27 de agosto de 11 a las 15:08

un archivo de propiedades no puede estar en una ruta de clase. Un jar o directorio puede ser, pero no un archivo de propiedades. El directorio que contiene log4j.properties (o el jar que lo contiene) debe estar en la ruta de clases. -

Muchas gracias @JB Nizet. Está funcionando bien ahora. -

3 Respuestas

Solo puede enumerar archivos o directorios jar como parte de una ruta de clase. En lugar de especificar log4j.properties, debe especificar el directorio en el que se encuentra el archivo de propiedades en relación con el jar que se está ejecutando.

Ejemplo:

Si myjar.jar en el directorio base, log4j.jar en ./lib/ y log4j.properties en ./conf/

La entrada Class-Path en myjar.jar de la siguiente manera

Ruta de clase: lib / log4j.jar conf /

Respondido 27 ago 11, 19:08

Creo que también debería poder incluir simplemente su archivo log4j.xml (o log4j.properties) dentro de su archivo Jar personalizado. Siempre que esté en la raíz de su archivo Jar, el marco log4j podrá encontrarlo.

Respondido 27 ago 11, 19:08

Respondido 27 ago 11, 19:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.