我有一个项目将分开:
b)表示层(包含基于Spring webflow的所有Web结构以及其上的所有配置文件。因此在开发过程中我们有几个属性文件在java/main/src
包下的resource.properties.*
我们在WEB-INF/conf
和WEB-INF/i18n
下的网络结构中有其他属性(这是屏幕的标签消息)..所以我的问题是以下内容:
java/main/src
下的软件包下的classes
webapp中的文件夹?。WEB-INF/configurations
?要么
将业务层的一些属性文件保留在一个地方和一些地方
来自其他地方的表示层的属性文件? 答案 0 :(得分:1)
我发现有助于将属性分为两类:
类别#1可以在任何有意义的WAR文件中嵌入。在WEB-INF/classes
中是一个很受欢迎的地方,但是将它们放在jar文件中的META-INF
中也可以很好地运行。值得选择你喜欢的标准并坚持下去。底线是这些文件在开发过程中被更改;它们在部署后不会更改,并且在系统发布时保持不变。
类别#2应始终与deployable分开。理想情况下,只有在更改时才应部署特定于环境的属性。它实际上是一个配置管理(CM)决策。开发人员需要提供这些配置文件的基本版本,CM在部署到特定环境(QA,PRE-PROD,PROD)时应编辑它们。在强制执行职责委托的情况下(例如,在适用SOX的情况下),开发人员不应触及或看到属性文件的生产版本。我见过很多情况,这些文件的不同版本(DEV / QA / PROD)由开发人员维护并保存在源代码控制中。这是不合适的。
答案 1 :(得分:0)
我认为拥有一个单独的源文件夹'resources'并保留所有属性文件是件好事。这些还可以确保属性文件不会混淆源代码。