我有一个Java Web应用程序,可以在一个属性文件中卸载一些特定于环境的设置(Hibernate配置,所需的目录路径等),该文件最终打包在已部署的WAR中。如果我希望分发此Web应用程序,处理这些设置管理的最佳方法是什么?要求用户打开WAR,更新属性文件,重新打包WAR,然后进行部署是不可行的。我想要创建一个安装程序(例如NSIS,WiX),询问属性,将它们写入WAR,然后请求WAR的部署位置。另一个选项是将属性文件放在WAR外部,并根据约定,Web应用程序将知道在何处读取文件。在这种情况下,最佳做法是什么?
答案 0 :(得分:1)
某些需要此类配置并且面临此问题的项目,使用在将部署项目的服务器上构建项目(和.war)的方法。
所以而不是:
你得到:
从这里,您可以通过将每个服务器的配置文件检查到SCM中来获得乐趣。这种方法允许你版本&审核配置更改。
答案 1 :(得分:0)
我在项目中也遇到了同样的问题。我之前的开发人员已经对解决方案进行了原始修复,该解决方案在hibernate.hbm.cfg.xml文件中添加了所有必需的配置并对其进行了注释。根据需要取消注释所需的配置。然而,问题有一个更好的解决方案。
来源:http://www.javaworld.com/javaworld/jw-11-2004/jw-1108-config.html