我有一个带有模块A的项目,可以使用或不使用配置文件构建-Pnewlib来构建不同版本的库,假设默认情况下使用libjar-1.0,而-Pnewlib将使用libjar-2.0。
然后,我有一个模块B依赖于模块A.问题是如何在模块B中为libjar获得正确的依赖?我想组装一个胖罐,所以我需要弄清楚要包含哪个版本的libjar。
在我的测试中,在我看来,当mvn -Pnewlib安装模块A时,虽然它将使用libjar-2.0构建。但安装好的pom并没有反映出这一点。因此,当模块B解析依赖关系时,它将解析依赖关系为libjar-1.0。这是错误的,在这种情况下,B如何通过A?
解决正确的依赖(我不希望模块B知道关于libjar-1.0和libjar-2.0的任何信息。它应该由模块A处理,模块B只需要调用模块A。)