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

14

Java项目中配置文件应该存放在哪里?对于这种情况下的Java属性文件类型,是否有最佳实践可供借鉴?但我在其他项目中使用其他文件类型。建议是否因应用程序(.jar)和Web应用程序(.war)而异?


您想在构建后更改配置,还是希望配置成为您构建的.jar/.war文件的一部分? - ScArcher2
@ScArcher2,对于我们这里的生产发布,我们需要进行发布请求,因此更改配置文件与制作整个软件包文件同样麻烦。因此,我更喜欢将配置保留在软件包中。 - James McMahon
3个回答

8
你会发现许多开源项目都遵循Maven使用的目录结构。在这个设置中,应用程序源代码保存在src/main/java中,包括属性文件在内的应用程序资源保存在src/main/resources中,其他配置文件保存在src/main/config中。与单元测试相关的文件使用类似的目录结构;src/test/java和src/test/resources。
个人而言,我倾向于使用这种布局,因为它被广泛使用。我还在项目根目录下保留了一个"etc"目录,用于存放与应用程序无直接关系的文件。例如,我将PMD和Checkstyle的配置文件保存在etc中。

4
一般的做法是在编译过程中将配置文件复制到构建产物中的 resources 目录。Maven 在其 默认项目结构 中使用这种方式。在 resources 目录下,如果打包成 war 的应用程序可能还会有一个 META-INF 目录和/或一个 WEB-INF 目录。

1

我使用以下路径:

  • META-INF/ 用于 jar 文件
  • WEB-INF/ 用于 war 文件

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接