我有一个Java Web应用程序,可以在属性文件中卸载某些特定于环境的设置(休眠配置,必需的目录路径等),该属性文件最终打包在已部署的WAR中。如果我希望分发此Web应用程序,那么处理这些设置的最佳方法是什么?要求用户打开WAR,更新属性文件,重新打包WAR,然后进行部署是不可行的。我正在考虑创建一个安装程序(例如NSIS,WiX),以询问属性,将其写入WAR,然后询问WAR的部署位置。另一个选择是将属性文件置于WAR的外部,并且根据约定,Web应用程序将知道从何处读取文件。在这种情况下,最佳做法是什么?
最佳答案
一些需要这种配置并面对此问题的项目使用在将要部署它的服务器上构建项目(和.war)的方法。
所以代替:
将预打包的.war文件复制到有意义的位置
你得到:
从SCM中检查源代码(Subversion,CVS等)
配置品尝
生成项目(通过Maven或Ant自动化)
部署项目(通常也使用Maven或Ant自动化)
在这里,您还可以通过将每台服务器的配置文件检入SCM中来获得幻想。这种方法使您可以对版本更改进行审核和审核。
关于deployment - 处理Java Web应用程序特定于环境的设置的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2112977/