Affects Version/s: 1.8, 1.9
Fix Version/s: 2.0
In commons-configuration-1.7 the SystemConfiguration directly used the Map of System.getProperties(). Thus when changing the properties inside the SystemConfiguration, the changes were visible in the Map of System.getProperties().
Since commons-configuration-1.8 the SystemConfiguration creates a new Map as a copy of System.getProperties() and thus changes in the SystemConfiguration Map are not visible in the System.getProperties() Map.
In 1.7 this super constructor is used by SystemProperties:
In 1.9 this super constructor is used by SystemProperties:
A fix could look like this:
This breaks the functionality I expected to be able to use SystemConfiguration as a replacement API for accessing and manipulating SystemProperties. For me this is a regression.
My workaround is currently not to use:
but instead use: