Я пытаюсь изучить конфигурацию общих ресурсов Apache, чтобы динамически загружать файл свойств, вносить изменения в файл и сохранять его.
Я написал демонстрационный код для того же самого.
Фрагмент кода
package ABC;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
public class Prop {
public static void main(String[] args)
{
try {
URL propertiesURL = Prop.class.getResource("/d1.properties");
if (propertiesURL == null) {
System.out.println("null");
}
String absolutePath=propertiesURL.getPath();
PropertiesConfiguration pc = new PropertiesConfiguration(absolutePath);
pc.setReloadingStrategy(new FileChangedReloadingStrategy());
String s=(String)pc.getProperty("key_account_sales");
System.out.println("s is " + s);
pc.setAutoSave(true);
pc.setProperty("key_account_sales", "Dummy");
pc.save();
System.out.println("Modified as well");
String sa=(String)pc.getProperty("key_account_sales");
System.out.println("s is " + sa);
}catch(ConfigurationException ce)
{
ce.printStackTrace();
}
}
}
Хотя, когда я запускаю код несколько раз, обновленное значение свойства отображается правильно, но изменения не видны в файле свойств.
Я попытался обновить всю рабочую область и проект, но файл свойств по-прежнему показывает предыдущую запись, тогда как этот код отображает обновленную запись в консоли.
Почему мой файл свойств не обновляется?
Ну, я заметил, что новый файл с таким же именем был сформирован в каталоге bin моей рабочей области IDE. Этот новый файл содержит необходимые изменения.
Однако я по-прежнему хочу, чтобы старый файл был обновлен новым значением, и вместо создания нового файла он должен обновляться в самом старом файле.
Мой файл свойств находится внутри пакета веб-приложения, скажем
Дем1
по имени
Prop1.prop
Я хочу прочитать этот файл свойств из другого класса, скажем
Чтение.java
находится внутри другого пакета
Дем2
, внесите изменения в этот же файл свойств и покажите его другому пользователю. Это веб-приложение, развернутое на сервере приложений.
Даже после использования абсолютного пути в простом файле (основная функция) он не отражает изменения в том же файле, а обновляет его в новом файле.
Я делаю очень небольшую ошибку, но может кто-нибудь, пожалуйста, помогите.
Используя абсолютный путь, я не могу вносить изменения в тот же файл свойств и в обычном основном методе. Пожалуйста, предложите.
Новый файл в каталоге bin создается вместо обновления того же файла в папке src.