Эта проблема с библиотекой мучила меня несколько дней, пока я не понял, почему Apache хочет, чтобы я использовал старые библиотеки.
Если компилятор просит вас использовать более старые библиотеки Lang, убедитесь, что файл свойств Apache сделан НОВЫМ, а не старым способом (в котором используются более старые библиотеки Lang).
https://commons.apache.org/proper/commons-configuration/userguide/howto_filebased.html
это сайт Apache, с которого я получил следующий код, который выполняет базовую операцию SET для файла на моем компьютере с Windows.
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.FileBasedConfiguration;
import org.apache.commons.configuration2.PropertiesConfiguration;
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
import org.apache.commons.configuration2.builder.fluent.Parameters;
public final class Settings implements Serializable {
private Configuration config;
private String propertiesFilePath;
private FileBasedConfigurationBuilder<FileBasedConfiguration> builder;
public Settings(String propertiesFilePath) {
Parameters params = new Parameters();
File propFile = new File(propertiesFilePath);
builder = new FileBasedConfigurationBuilder<FileBasedConfiguration>(PropertiesConfiguration.class)
.configure(params.fileBased()
.setFile(propFile));
try {
config = builder.getConfiguration();
} catch (Exception e) {
System.out.println("Exception - Settings constructor: " + e.toString());
}
}//end constructor
public void setValue(String key, String value) throws Exception {
config.setProperty(key, value);
builder.save();
}// end setter method
}//end class