定位 Java 应用程序配置文件的最佳做法是什么?

对于配置文件在 Java 项目中的存储位置,是否有最佳实践。在本例中,文件类型是 Java 属性文件,但我在其他项目中使用其他文件类型。

建议是否从独立应用程序(.jar)到Web应用程序(.war)有所不同?


答案 1

你会发现许多开源项目都遵循Maven使用的目录结构。在此设置中,您的应用程序源代码保存在 src/main/java、应用程序资源(包括属性文件)和 src/main/config 中的其他配置文件中。与单元测试相关的文件使用类似的目录结构;src/test/java 和 src/test/resources.

就个人而言,由于其广泛使用,我倾向于使用这种布局。我还在项目根目录下保留了一个“etc”目录,用于存放与应用程序没有直接关系的文件。例如,我保留了PMD和Checkstyle等的配置文件。


答案 2

通常,通常的做法是为配置文件创建一个目录,该目录由构建过程复制到构建工件中。Maven 在其默认项目结构中使用它。在该目录中,您可能还具有打包为 war 的应用程序中的目录和/或目录。resourcesresourcesMETA-INFWEB-INF