我有一个在tomcat中运行的应用程序,它有一堆配置文件,它们运行的每个环境(开发,测试和生产)都不同。但是,并非配置文件中的每一行在不同环境之间都会有所不同,因此如果发生某些变化,总会出现重复的信息。
是否有一个好的框架/库将单独的文件折叠成一个环境特定的块?或者其他一些处理方法?
答案 0 :(得分:2)
答案 1 :(得分:1)
属性文件是我一直使用的。它可以手动编辑,也可以在软件中编辑,并且Properties对象可以读取自身并将其自身写入文件系统。这是javadoc页面:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html
答案 2 :(得分:1)
如果你使用maven,你可以使用它的资源过滤功能,以及配置文件为你正在部署的每个环境生成一个属性文件。
作为额外的奖励,maven还可以为您部署您的网络应用程序。
答案 3 :(得分:0)
复制并不是一个真正的问题,拥有一个中央配置文件,其他文件的“扩展”可能会让您长期陷入困境。
我的建议是使用ant将相应的文件加载(复制并移动)到位,然后启动应用程序(捆绑到战争?)。为每个环境设置不同的任务。因此,您将有三个配置文件(dev.config,test.config和production.config)将被移动并覆盖/ WEB-INF文件夹中的配置,具体取决于您正在运行的任务。
答案 4 :(得分:0)
如果你想避免混乱,我建议单独为环境参数配置一个配置文件。然后你将有另外一个配置文件来管理。这是配置文件数量与每个配置文件的复杂性之间的权衡。