ubicacion log4j.properties en un jar
Buenos días compañeros del foro.
Mi situación es la siguiente:
Tengo una pequeña aplicación (no web) que utiliza el log4j para el manejo de insidencias, hasta ahi todo funciona bien.
El problema:
Al crear un jar de la aplicación, cuanto intento ejecutarlo me indica que no es posible ubicar el archivo "log4j.properties"
Información adicional:
//con esta instrucción cargo el archivo de configuración.
// configuracion del log
PropertyConfigurator.configure("log4j.properties");
//tambien he intentado con esta otra instrucción pero no me funciona ni siquiera corriendo la aplicación desde el IDE
//en este caso el urlLog queda en NULL
ClassLoader loader = ClassLoader.getSystemClassLoader()
URL urlLog = Loader.getResource("log4j.properties");
PropertyConfigurator.configure(urlLog );
//otra prueba
// url2 queda en NULL
URL url2 = ClassLoader.getSystemResource("log4j.properties");
PropertyConfigurator.configure(url2 );
En el MANIFEST.MF he agregado y quitado la dirección del archivo y de igual manera el archivo lo he colocado en todo lado en la aplicación
Class-Path: lib/jconn3.jar lib/log4j-1.2.15.jar lib/ext/log4j.properties
La consulta:
Donde debo colocar el archivo para que al ejecutar el jar este lo encuentre o si debo agregar algo al MANIFEST.MF
Gracias.
- Inicie sesión o regístrese para enviar comentarios
Tienes que poner el archivo
Tienes que poner el archivo
en algún lugar del classpath.
Generalmente se usa la carpeta resources Pero varía de proyecto en proyecto. Para pronto ponla en algún lugar de tu classpath ( y en ultima instancia en lib/ext donde sea que eso sea )
Para una información más certera ve a:
Estas preguntas se parecen a lo que necesitas:
Espero que te sirva
Raíz del classpath
Si estás haciendo un JAR ejecutable entonces simplemente debes meter el log4j.properties como un archivo en dicho JAR. Recuerda que a fin de cuentas es un zip así que simplemente puedes hacer:
zip tujar.jar log4j.properties
Con eso lo debería encontrar log4j. No lo metas en lib/ext porque lo van a leer TODAS las apps que usen log4j en ese equipo.
He creado el jar y agregue
He creado el jar y agregue el log4j.properties pero sigue sin encontrarlo.
Esto es lo que tengo en la raiz del jar (el jar lo creo desde el RAD 7.5 uso la opción export --> Runnable JAR File ):
com
cr (acá está el código)
META-INF
org
log4j.properties
SybVersion.class
Ya me funciono. Gracias a
Ya me funciono. Gracias a todos por su ayuda.
Rudy, que fue lo que
Rudy, que fue lo que hiciste? Como lo solucionaste? Puede servirle a alguién más en el futuro