Gel*_*Luo 13 java linux perl config
有很好的Perl库(例如Apache :: Admin :: Config)可以在像httpd.conf这样的传统unix配置文件上运行.有谁知道是否有好的Java库来完成类似的任务?
我知道有一个名为Augeas的 ac库,带有Java绑定.以前有人用过吗?
谢谢!
我用(编程方式,用于项目)使用来自许多*nix项目的许多配置文件,如Apache,Squid,smtpd,ldap,PAM等等.我已经意识到有一些不常见的格式(语法)但是相反,每个项目都定义了自己的ad-hoc格式,并实现了自己的自定义解析器.没有共同的规范.
所以*nix上的aproach项目配置文件不是"使用解析器库"而是"编写自己的解析器".
然而,有些项目试图坚持某种标准.最常见的AMOG theese是.ini文件格式(起源于OS/2和Windows)或GConf信息文件格式,用于theese你会发现很容易使用的解析器.
Apache(读取a-patch-e,如许多补丁中所做的)是在自由格式类中.它以一种var value格式开始,经过大量的"修补"后,添加了一个用于指定配置变量的范围和上下文的warty-xmlish语法.
Man*_*ngh -2
Commons Configuration 确实操作配置文件。
它甚至还提供了将操作的属性保存在新文件中的选项。
PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setProperty("colors.background", "#000000);
config.save("usergui.backup.properties);
Run Code Online (Sandbox Code Playgroud)
请参考以下链接
http://commons.apache.org/configuration/userguide/howto_filebased.html#File-based_Configurations
甚至,Apache Ant 还可以帮助您使用自己的 PropertyHelper 实现来操作现有的配置文件。
http://ant.apache.org/manual/properties.html#propertyHelper
评论回复后编辑
Apache 配置确实使用 bean Factory 提供了可扩展性,您需要自己创建 Apache 配置文件 httpd.conf 域类,才能使其正常工作。
在 java 中定义 Apache 模块,您可以查看 Netloony 源代码、service/apache/modules 来了解这一点。
http://netloony.sourceforge.net/userguide/intro.html
在netloony中,配置文件值显示在JTable中,您需要使用任何配置框架将其保存在文件中。
希望这有帮助,我知道目前 java 中没有任何现成的东西可以读取 apache conf 文件。我试图给你一个指示,你可以从哪里开始..