Apache Configuration cannot load file Properties - returns null

409 Views Asked by At

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?

1

There are 1 best solutions below

0
JRr On

The issue was in properties file. Directory path there was in format:

baseStoreDir = .\src\main\resources\

When I converted it to:

baseStoreDir = ./src/main/resources/

it worked.

Apache Configuration2 has very strange "logic" of reading resource files as Java files :P