是否有完善的方法来记录 Java“属性”文件内容,包括:
- 指定给定键所需的数据类型/内容
- 指定应用程序运行是否需要 key
- 提供 key 含义的描述
目前,我(手动)维护一个默认的.properties文件,并且我在之前的评论中写了一个散文描述数据类型和每个键的描述。这不会导致以编程方式访问属性文件。
我想我正在寻找的是属性文件的“getopt”等价物...
[编辑:相关]
最佳答案
您可以使用 Apache Commons Configuration 中的一些功能包裹。它至少提供对您的属性的类型访问。
传统的java属性文件中只有约定。正如您所说,我看到的一些内容包括提供示例属性文件。另一种是提供所有属性的默认配置,但注释掉。
如果您真的需要某些东西,也许您不是在寻找属性文件。您可以使用 XML 配置文件并指定具有数据类型和要求的架构。您可以使用 jaxb 将架构编译成 java 并以这种方式读取它。通过验证,您可以确保所需的属性存在。
您所能期望的最好结果是,当您执行应用程序时,它会读取、解析和验证文件中的属性。如果您绝对必须保持基于属性并且不想使用 xml,但需要此解析。您可以有一个辅助属性文件,其中列出了可以包含的每个属性、它的类型以及它是否是必需的。然后,您必须编写一个属性文件 validator ,该 validator 将接收要验证的文件以及类似验证模式的属性文件。有点像
#list of required properties
required=prop1,prop2,prop3
#all properties and their types
prop1.type=Integer
prop2.type=String
我没有查看所有的 Apache 配置包,但它们通常有像这样有用的实用程序。如果您能在其中找到可以简化这一过程的内容,我不会感到惊讶。
关于java - 记录可用/必需的 Java 属性文件内容的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/731237/