Commons Configuration действительно манипулируют файлами конфигурации .
Даже это дает возможность также сохранить измененные свойства в новом файле.
PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setProperty("colors.background", "#000000);
config.save("usergui.backup.properties);
См. Следующую ссылку
http://commons.apache.org/configuration/userguide/howto_filebased.html#File-based_Configurations
Даже Apache Ant может также помочь вам в манипулировании существующими файлами конфигурации с использованием ваших собственных Реализация PropertyHelper.
http://ant.apache.org/manual/properties.html#propertyHelper
EDITED после ответа в комментариях
Конфигурация Apache действительно обеспечивает расширяемость с использованием bean Factory, вам необходимо создать конфигурацию Apache файл httpd.conf класса домена самостоятельно, чтобы он заработал.
Определяя модули Apache в java, вы можете взглянуть на исходный код Netloony, service / apache / modules, чтобы получить представление об этом.
http://netloony.sourceforge.net/userguide/intro.html
В netloony значения файлов конфигурации представлены в JTable, вам нужно использовать любую структуру конфигурации, чтобы сохранить их в файле.
Надеюсь, это поможет, я понимаю, что в настоящее время в java нет ничего нестандартного для чтения файлов apache conf. Я пытался указать, с чего можно начать ..
Я работал (программно, для проекта) с множеством файлов конфигурации из многих проектов * nix, таких как Apache, Squid, smtpd, ldap, PAM и т. Д. И т. Д. Я пришел к выводу, что там определенно НЕ является общим форматом (грамматикой), но вместо этого каждый проект определяет свой собственный специальный формат и реализует свой собственный настраиваемый синтаксический анализатор. Нет общей спецификации.
Таким образом, подход к файлам конфигурации проектов * nix означает не «использовать библиотеку парсера», а скорее «написать свой собственный парсер».
Однако есть проекты, которые пытаются придерживаться какого-то стандарта. Наиболее распространенным из них является формат файла .ini (созданный в OS / 2 и Windows) или формат файла GConf , для которых вы можете легко найти доступные синтаксические анализаторы. .
Apache (читайте «a-patch-e», как «сделано из многих исправлений») находится в классе свободной формы. Он начался с формата var value
, затем, после большого количества «исправлений», добавил грамматику warty-xmlish для определения области и контекста конфигурационных переменных.
Похоже, библиотеки для этой цели не существует. Однако вы можете использовать Augeas , библиотеку, предназначенную для редактирования файлов конфигурации. Однако, в отличие от решения, которое вы ищете, вам нужно заранее сообщить Augeas, как интерпретировать файл конфигурации, что может занять больше времени, чем оно того стоит.