环境特定的配置文件 - 最佳实践?

bez*_*max 5 java deployment configuration jakarta-ee

我有一个带有配置文件的应用程序,其中有很多特定于环境的设置。我还有很多可以部署该应用程序的环境。

使该配置特定于环境的最佳实践是什么?

目前我正在将配置文件所在的目录添加到 JVM 类路径中。这样,应用程序只需从类路径加载配置文件并使用在那里找到的内容即可。

然而,最近我被告知这是一个不好的做法,我应该考虑使用 JNDI 来实现此目的。

那么,您有什么建议可以使部署和开发过程在我的情况下尽可能轻松?

提前致谢。

Cia*_*ale 1

您可以允许用户使用以下任意一项您感兴趣的内容来指定配置文件/目录: (1) 命令行参数;(2) Java系统属性;或 (3) 环境变量。

请注意,您可以FOO_CONFIG通过调用 来访问环境变量System.getenv("FOO_CONFIG")。Sun“弃用”(委婉说法为故意破坏)Java 1.0.1 和 Java 1.4.x 之间包含的这种操作。但是,此操作在 Java 5 中并未弃用(即已修复)。