cargar config.properties java ruta fuera del jar
Publicado por estefy83 (1 intervención) el 29/12/2014 12:02:12
Buenos dias, os espongo mi dilema
El proyecto está estructurado de la siguiente manera
+-files
Línea de ejecución de java:
java -Djava.util.logging.config.file=/servicios/was7/hubriesgos/files/ModuloAdaptador/aire/scripts/OracleConfig.properties -Doracle.jdbc.Trace=true -classpath ${PROJECT_DIR}:${PROJECT_DIR}/lib/bsh-2.0b4.jar:${PROJECT_DIR}/lib/commons-lang-2.3.jar:${PROJECT_DIR}/lib/ojdbc6_g-11.1.0.7.0.jar:${PROJECT_DIR}/class:${PROJECT_DIR}/etc/bsh:${PROJECT_DIR}/etc com.san.bmg.scd.adaptador.AdaptadorGenerico $* 1> ${PROJECT_DIR}/logs/TrazaCarga_startAdapter'_'$UNIT'_'$SOURCE'_'$FAM'_'$GROUPID'_'$RES.log 2> ${PROJECT_DIR}/logs/TrazaCarga_startAdapter'_'$UNIT'_'$SOURCE'_'$FAM'_'$GROUPID'_'$RES.err
Como veis actualmente el fichero de config.properties se encuentra dentro de etc, que es una ruta que esta incluida en el classpath, ahora necesito poner el properties a nivel de ModuloAdaptador, sin embargo al ser una carpeta externa al proyecto no puede acceder al properties, he intentado incluir la ruta que necesito en el classpath,para que luego resourcebundle pueda encontralo, pero tampoco funciona. Para leer estas properties el código usa resorceBundle, y creo que este método es incapaz de acceder a carpetas fuera de las rutas que son source.
protected static Properties loadProperties(String propFile) {
ResourceBundle rb = ResourceBundle.getBundle(propFile);
Properties ret = new Properties();
for (Enumeration keys = rb.getKeys(); keys.hasMoreElements();) {
final String key = (String) keys.nextElement();
final String value = rb.getString(key);
ret.put(key, value);
}
return ret;
}
Se agradece cualquier ayuda, muchas gracias!!
El proyecto está estructurado de la siguiente manera
+-files
--ModuloAdaptador
--aire
--class
--etc
--config.properties
Línea de ejecución de java:
java -Djava.util.logging.config.file=/servicios/was7/hubriesgos/files/ModuloAdaptador/aire/scripts/OracleConfig.properties -Doracle.jdbc.Trace=true -classpath ${PROJECT_DIR}:${PROJECT_DIR}/lib/bsh-2.0b4.jar:${PROJECT_DIR}/lib/commons-lang-2.3.jar:${PROJECT_DIR}/lib/ojdbc6_g-11.1.0.7.0.jar:${PROJECT_DIR}/class:${PROJECT_DIR}/etc/bsh:${PROJECT_DIR}/etc com.san.bmg.scd.adaptador.AdaptadorGenerico $* 1> ${PROJECT_DIR}/logs/TrazaCarga_startAdapter'_'$UNIT'_'$SOURCE'_'$FAM'_'$GROUPID'_'$RES.log 2> ${PROJECT_DIR}/logs/TrazaCarga_startAdapter'_'$UNIT'_'$SOURCE'_'$FAM'_'$GROUPID'_'$RES.err
Como veis actualmente el fichero de config.properties se encuentra dentro de etc, que es una ruta que esta incluida en el classpath, ahora necesito poner el properties a nivel de ModuloAdaptador, sin embargo al ser una carpeta externa al proyecto no puede acceder al properties, he intentado incluir la ruta que necesito en el classpath,para que luego resourcebundle pueda encontralo, pero tampoco funciona. Para leer estas properties el código usa resorceBundle, y creo que este método es incapaz de acceder a carpetas fuera de las rutas que son source.
protected static Properties loadProperties(String propFile) {
ResourceBundle rb = ResourceBundle.getBundle(propFile);
Properties ret = new Properties();
for (Enumeration keys = rb.getKeys(); keys.hasMoreElements();) {
final String key = (String) keys.nextElement();
final String value = rb.getString(key);
ret.put(key, value);
}
return ret;
}
Se agradece cualquier ayuda, muchas gracias!!
Valora esta pregunta


0