I gave Apache Configuration2 a try.
I try to load a path from properties file:
String configFileName = getConfigFileName();
Configurations configs = new Configurations();
try {
File configFile = new File(configFileName);
String configFileStr = FileUtils.readFileToString(configFile, StandardCharsets.UTF_8); // content is loaded correctly
config = configs.properties(configFile);
config = configs.properties("src/main/resources/config.properties");
baseStoreDir = config.getString("baseStoreDir", baseStoreDir);
} catch (ConfigurationException cex) {
log.fatal(...);
} catch (IOException ex) {
log.fatal(...);
}
With this code I cannot get property value. Just as file or property is not found.
config.getString("baseStoreDir");
This returns null.
Why I cannot get the property?
The issue was in properties file. Directory path there was in format:
When I converted it to:
it worked.
Apache Configuration2 has very strange "logic" of reading resource files as Java files :P