【发布时间】:2021-05-06 11:41:11
【问题描述】:
项目详情
我有一个使用 Gradle 作为构建工具的 spring boot 2 项目。我使用 Java 8 作为 Java 版本。用于模板引擎的 Thymeleaf。
我的目标
我想构建不同的版本,例如基本版、专业版和终极版。例如,假设 Base 版本有 5 个功能。 Pro 版本具有 Base 版本的所有功能,另外还有 5 个功能。 Ultimate 版拥有 Pro 版的所有功能,另外还有 5 个功能。
我想到的解决方案和互联网搜索的解决方案
- 为不同的版本保留不同的分支。但这里的问题是如何实际管理代码库、修补修复和引入新功能等。我也搜索过这种方法,但都说不要使用它,因为这不是一个好的选择。
- 使用 Gradle 构建多个版本。 我知道在 Android 中有一个功能可以构建多种风格的应用程序,例如用于开发、QA 和生产。 Spring boot 是否有任何可用于制作版本的功能。
- 使用某种配置。我们可以有一个基于它的配置文件,我们可以根据版本打开/关闭功能。但这很容易被黑客入侵。所以不敢用。
- 使用许可。这与第 3 点相同,但略有不同。
- 通过一些 Gradle 配置使用 java 的模块功能(显然,我必须升级我的 java 版本)。在构建时,我们可以包含基于的模块
那么如何创建不同的版本?在这种情况下,制作不同版本的最佳解决方案是什么?每个版本都与之前的版本有一些共同的特点?
请考虑我想要一个单一的代码库。因此,由于它们共享一些共同的代码/功能,因此进行错误修复会很容易。
【问题讨论】:
标签: java spring spring-boot gradle build-tools