Java 应用程序配置文件位置的最佳实践是什么?
对于配置文件应存储在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您会发现许多开源项目都遵循 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.
一般来说,常见的做法是为配置文件提供一个
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 theresources
directory, you might also have aMETA-INF
directory and/or aWEB-INF
directory in an application packaged as a war.我使用:
I use: