Java 库的标准配置文件位置?

Posted

技术标签:

【中文标题】Java 库的标准配置文件位置?【英文标题】:Standard Config File Location for a Java Library? 【发布时间】:2012-09-15 17:51:25 【问题描述】:

对于我当前的项目 (Better Checks - a small argument validation library),我试图找出使用该库的应用程序应该将配置文件放在哪里(在类路径中)。它是一个具有自定义错误消息格式的 .properties 文件。

库配置文件是否有标准或事实上的标准位置?

我目前的拍摄是/better-checks.properties。我有点担心这不是一个好主意,因为它直接位于类路径的根目录中,并且可能理论上与其他文件发生冲突。

另一种方法是将其放入库的根包/ch/trick17/betterchecks/config.properties 中,这样可以防止名称冲突,但看起来有点奇怪。

编辑:考虑到如果我想通过使用资源包来支持国际化,应用程序最终可能会在类路径根目录中包含许多 better-checks_*.properties。这不是很好,是吗?

【问题讨论】:

/config/config.properties 怎么样? (又名config 文件夹)。 【参考方案1】:

您担心不太可能出现的问题。我同意——这很奇怪。只要它在 CLASSPATH 中,就没有问题。

【讨论】:

【参考方案2】:

大多数应用程序选择将配置文件放在类路径中。

一些框架将它们的一些配置文件放在 META-INF 目录中。 例如,EJB3 持久性配置文件默认为 META-INF/persistence.xml

但是,这是否是一个好的做法值得商榷。请参阅here 进行良好讨论并自行决定。

【讨论】:

以上是关于Java 库的标准配置文件位置?的主要内容,如果未能解决你的问题,请参考以下文章

Python标准库的主要功能都有哪些?

Linux系统编程(文件)———文件编程应用(配置文件修改,写结构体数组到文件),标准C库对文件的操作

Linux系统编程(文件)———文件编程应用(配置文件修改,写结构体数组到文件),标准C库对文件的操作

tomcat logs目录下 日志文件含义及配置位置

Git配置文件与git config命令

Android OpenCVVisual Studio 创建支持 OpenCV 库的 CMake 工程 ② ( VS 中创建 CMake 工程 | CMake 工程中配置 OpenCV 头文件 )