I prefer to have the properties file at the application level or JAR level if I am writing a library, with as many configuration entries in the same file as logically possible so that I end up with as few files as possible. So my properties file is at the root level of the JAR file.
To load the config.properties
file at the root of the JAR:
// ResourceBundle expectes the file extension to be .properties by default. ResourceBundle bundle = ResourceBundle.getBundle("config", Locale.getDefault(), Thread.currentThread().getContextClassLoader()); String dmsAddress = bundle.getString("dmsAddress");Similarly when I use Java Logging I put the
logging.properties
file at the same location and load it upon application start up using LogManager
so that I don't have to tamper with the properties file at JRE/lib
.
The logging.properties
file:
handlers = java.util.logging.ConsoleHandler .level=INFO java.util.logging.ConsoleHandler.level = INFO com.laws.acc.level = ALL com.laws.acc.ws.level = ALLIt is better to copy the JRE's
logging.properties
file and modify it. To load the logging configuration:
LogManager logMan=LogManager.getLogManager(); logMan.readConfiguration(Thread.currentThread().getClass().getResourceAsStream("/logging.properties"));
Resources: Smartly Load Your Properties
No comments:
Post a Comment