¿Puedo usar la ruta de clase para anular un archivo en un tarro que se está ejecutando?
Tengo un archivo JAR que contiene una aplicación, así como archivos de configuración para esa aplicación. La aplicación carga archivos de configuración de la ruta de clase (usandoClassLoader.getResource()
), y tiene sus dependencias completamente satisfechas utilizando los archivos de configuración incluidos en el archivo JAR.
En ocasiones, quiero que la aplicación se ejecute con una configuración ligeramente diferente (específicamente quiero anular la URL de JDBC para que apunte a una base de datos diferente), así que creo un nuevo archivo de configuración, lo guardo en la estructura de directorios correcta (lo que significa en una directorio/config
de una entrada classpath), y quiero hacer algo como esto:
java -cp new-config:. -jar application.jar
Pero no puedo conseguir el classpath para tener elnew-config
Entrada de ruta antes de los contenidos de la aplicación JAR. ¿Es difícil que el contenido del JAR sea siempre lo primero en el classpath?