【发布时间】:2015-11-18 14:58:29
【问题描述】:
我们正在使用 Spring Boot 和相关依赖项从头开始开发一个新的 Web 应用程序,并使用 Gradle 构建。
我们的项目有近 5 个测试阶段,每个阶段在不同的服务器上执行,因此最终在每台服务器上的配置略有不同。
上述场景是一种非常常见的情况,通常我在早期项目中遵循的做法是将“属性”文件直接保存在服务器的类路径下,这样同一个 .war 文件就可以部署在多个服务器上并且仍然根据服务器/环境有不同的配置。
现在,上述设置的明显缺点是 - 这样的设置不能通过某些版本控制器轻松地与其他开发人员共享。此外,我无法使用 Gradle 中“处理资源”任务的强大功能在构建过程中引入一些动态属性。
现在,如果我在项目设置中拉取 .properties 文件,那么我可以轻松地对其进行版本控制,共享变得更容易,并且我还可以通过 Gradle 引入动态属性。缺点是更新 .properties 文件后可能需要准备多个 .war 文件。
我有两个问题?
- 您对上述两种方式有何看法?鉴于这种情况,您会选择什么以及为什么(处理这种情况的任何其他方式)?
- 在构建多个.war文件的第二种情况下,如何重新运行war任务以生成新的输出文件?
谢谢!
【问题讨论】:
标签: java gradle spring-boot war