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

发布于 2024-07-24 03:43:53 字数 128 浏览 6 评论 0原文

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

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

Is there a best practice for where configuration files should be stored in a Java project. The file type is a Java properties file in this case, but I do use other file types in other projects.

Would the recommendation vary from stand alone application(.jar) to web app(.war)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

愁杀 2024-07-31 03:43:53

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

我个人倾向于使用这种布局,因为它的广泛使用。 我还在项目根目录下保留了一个“etc”目录,用于存放与应用程序不直接相关的文件。 例如,我将PMD和Checkstyle的配置文件保存在etc中。

You'll find that many open-source projects follow the directory structure used by Maven. In this setup your application source code is kept in src/main/java, application resources, including properties files, in src/main/resources, and other config files in src/main/config. Files related to unit tests use a similar directory structure; src/test/java and src/test/resources.

Personally I tend to use this layout because of its widespread use. I also keep an "etc" directory beneath the project root to house files that aren't directly related to the application. For example, I keep configuration files for PMD and Checkstyle in etc.

只为守护你 2024-07-31 03:43:53

一般来说,常见的做法是为配置文件提供一个 resources 目录,该目录由构建过程复制到构建工件中。 Maven 在其默认项目结构。 在 resources 目录中,您在打包为 war 的应用程序中可能还有一个 META-INF 目录和/或 WEB-INF 目录。

In general a common practice is to have a resources directory for configuration files which is copied into the build artifact by the build process. Maven uses this in its default project structure. Within the resources directory, you might also have a META-INF directory and/or a WEB-INF directory in an application packaged as a war.

故笙诉离歌 2024-07-31 03:43:53

我使用:

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

I use:

  • META-INF/ for jar files
  • WEB-INF/ for war files
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文