我们目前有一个应用程序,它本质上是潜在客户的全功能演示。所有功能都在那里。但是,我们使用通用品牌/徽标,调用我们自己的Web服务(稍后将其换出来调用客户端Web服务)等。
这是我的问题。如果我们有两个不同的客户端,我们希望尽可能少的重复代码。我知道这可以通过简单地包含共享JAR来完成 - 从Java的角度来看。但是,我们需要改变资源。此外,一个客户端可能不想要其他客户端想要的某些功能。除此之外,如果我们正在进行常规错误修复,我们通常会希望这些修补程序都在应用程序的两个版本中。
我们正在使用Git进行版本控制,使用Maven来构建项目。
我们讨论的一个选项是简单地分支项目并维护单独的版本。但是,我们必须手动合并我们想要在应用程序的所有版本中反映的更改。
我们讨论的另一个选项是以某种方式使用maven配置文件交换资源等。但是,如果我们需要对代码本身进行任何非肤浅的更改,这可能是一个问题。我们可能不得不进入工厂和不同的实施。
有没有人有关于处理此问题的最佳方法的建议?
答案 0 :(得分:1)
我们使用带有git子模块的库项目来处理我们所有类似的项目。主项目非常庞大,但我们使用配置文件来确定成品中应该有哪些功能。