我有一个java web应用程序通过maven管理和构建,具有几个独立的子项目。我构建它们,最后将所有子项目的依赖项添加到Web应用程序中。现在我打算将生产和开发环境分开。所有子项目都有某种不同的连接URL(用于数据库,Web服务等),具体而言,这些URL将在生产环境中发生变化。我打算使用Spring的占位符来管理不同执行环境中的URL和其他属性,但是你怎么看,我愿意使用maven程序集插件并为每个子项目和主项目创建不同的jar / war文件。
对此主题有任何其他想法吗?
提前致谢。
答案 0 :(得分:0)
您不希望为不同的环境提供不同的分支,版本,可交付成果。您希望每个环境都有相同的可交付成果。
您已经提到使用占位符/弹簧配置然后使用它。将属性文件放在文件系统(/etc/conf/yourapp
或其他东西)的某个位置,然后从应用程序中的该位置读取它。您可能想要输入一些合理的默认值(如hibernate方言等)。
您可能想要研究的另一件事是profiles,因为您可能希望在开发和生产中加载不同的bean(即开发本地配置的数据源,生成数据源的jndi查找)。