我即将在 Maven Central 中部署一个库“A”,我目前以两种可互换但不兼容的配置发布该库“A”。一种配置功能齐全,另一种更可能在“应用商店”中被接受。两者之间的选择最好由应用程序开发人员做出。然而,应用程序开发人员不太可能直接使用“A”。
我知道的替代方案是:(1)使两个配置不同的工件“A1”和“A2”和(2)部署为单个工件“A”并使用分类器来区分这两种配置。
当我考虑下一步时,这个问题变得更加有趣,即部署一个依赖于库“A”的库“B”。库“B”与库“A”的任一配置兼容,那么它应该依赖什么?
我要避免的情况是部署两个版本的“B”,“B 使用 A1”和“B 使用 A2”,因为这只是组合爆炸的开始。