2011-04-11 77 views
2

我维护一个多平台开发框架,该框架试图根据通过各种方式推断的特定系统和环境信息来配置环境变量。一旦我推断出这些变量,我将它们存储在Java属性文件中供以后使用。这个文件也可以由我的框架(开发者)的用户编辑。Java属性文件的良好存储库组织实践

我有一个名为Env的类管理这个属性文件,它在一个名为org.myproject.config的包中。我目前正在将默认属性文件存储在src/org/myproject/config中。我想知道,在我的项目的这个目录下存储配置类型文件是否好的做法?不知道该去哪里。任何输入赞赏。

-tjw

回答

1

,如果你希望保持平台无关性,您应该使用Java API Preferences。一旦你指定了一个文件路径,你就会对你的应用程序运行的环境做出很多假设。

+0

Prefs API并不适合我的用例。我的偏好并不总是在变化中。它们在环境的整个生命周期中都被设置一次。只有当环境发生变化(不太可能)时,它们才会发生变化。 – 2011-04-11 02:47:18

+0

我不会根据这个前提取消首选项API的资格。 – 2011-04-11 02:54:13

+0

它使用平台依赖的后备存储。这个支持存储是我在初始调用时确定的变量之一,因此,如果我改变了当前的设计,那么我也会有鸡/蛋的问题。这太过分了,我会用炸药捕鱼。 – 2011-04-11 02:56:43

1

根据我们的经验,特定于环境的信息不应存储在存储库中。有人更新错误的文件,当他提交其他用户/环境受到影响。我们在每个环境中分别保存环境配置。在我们的例子中,环境变量存储在数据库表中,我们在属性文件中唯一的环境信息是创建到环境变量位置的JDBC连接的最小必需字段。环境更新通过IT变更请求或通过软件升级完成。

+0

存储在svn中的默认首选项适用于任何平台。事实上,修改这个文件可能会很有用。还有什么地方可以存储这样的文件? – 2011-04-11 02:33:53