【发布时间】:2015-04-02 02:34:06
【问题描述】:
我正在尝试设计一种解决方案,允许单个 Virgo 应用程序提供向后兼容性,以便与外部服务提供商的多个版本集成。
例如,名为 PortalApp 的应用程序是当前与 ThirdPartyApp 2.3 版集成的门户。 ThirdPartyApp v3.0 即将推出新功能,因此新版 PortalApp 将具有旧版 ThirdPartyApp 无法使用的功能。
我不需要能够在运行时动态地提供两个版本,只需要一个或另一个。我已经确定我可以在 Virgo usr 存储库中拥有两个版本的模块,并根据服务器启动时使用的 .plan 文件加载一个或另一个。
为简单起见,我们可以假设项目当前设置如下:
门户应用 - 网络应用 - 第三方提供商还有许多其他模块依赖于 ThirdPartyProvider,因此更改 ArtifactId 会破坏这些链。我想做的是构建同一模块的两个不同版本。像这样的:
门户应用 - 网络应用 - - 1.0 - - 2.0 - 第三方提供商 - - 1.0 - - 2.0我尝试在 web-app(包装:pom)中创建一个父 pom.xml,将 1.0 和 2.0 都标识为模块,但只构建了其中一个。
PortalApp 项目的单个构建能否构建一个模块的两个版本?
【问题讨论】:
-
为什么要构建 2 个版本?一个用于 2.3 版本,另一个用于 3.0 版本?
-
是的。就是这样,埃杜。问题在于需要继续向两个版本添加功能。否则,我可以归档旧模块并添加一个组装步骤,将其移动到 Virgo usr 存储库中。
标签: maven eclipse-virgo