如何处理不同Scala版本项目的依赖关系?



我有三个Scala项目:

Project A -必须是2.11.9版本的Scala。

项目B -必须有2.12.13版本的Scala。

通用-版本无关。

项目A和B都使用Common。

除了编译两个不同版本的公共项目之外,还有什么方法可以使它工作吗?

如果这是唯一的选择,我如何用最简单的方法来管理它?因为从一个版本到另一个版本。SBT还意味着更改许多依赖项的版本,这是一个烂摊子。

就像在评论中说的,你想使用所谓的"交叉构建">为了你的"共同">

为Scala 2.11和Scala 2.12构建和发布。SBT原生支持.

如果以后你有一个更复杂的项目结构,你可以看看一个有用的插件叫做project-matrix

通过为每个Scala版本(或实际上其他维度,如JVM/JavaScript)生成SBT子项目来进行交叉构建。对于依赖项,在定义依赖项时应该使用%%操作符,以便自动选择相应的Scala版本的依赖项。

相关内容

  • 没有找到相关文章

最新更新