scala - 为多项目中的子项目指定不同版本的sbt?

标签 scala sbt

我有一个包含几个子项目的多项目。

根项目的project/build.properties包含

sbt.version=0.13.0

原来,其中一个子项目仅适用于版本 0.12.4由于依赖问题。

我把build.properties将该版本放入其目录中,但它没有更改此项目的 sbt 版本。

我该如何正确地做到这一点?有可能吗?

最佳答案

现在,sbt 允许同一构建中的项目之间存在深度任务级依赖关系。因此,虽然每个项目都有自己的目录,但它们共享一个具有所有定义的构建类加载器。

这限制了您不能共享不兼容版本的构建。

将来可能会取消此限制,但现在我会执行以下操作之一:

  • 继续使用 sbt 0.12.4 进行构建
  • 通过 Ivy 迁移项目之间的所有通信。有 2 个带有包装脚本的构建,该脚本以正确的顺序运行它们。
  • 关于scala - 为多项目中的子项目指定不同版本的sbt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20825539/

    相关文章:

    scala - 意外的Scala模式匹配语法

    scala - 带大小写和不带大小写的 zipWithIndex

    scala - 我得到 "not a valid key: gen-idea",全新安装 sbt 0.13+ 如何修复它?

    java - SBT(简单构建工具): Change the build target "classes" directory

    json - 如何忽略 JSON 数组中的解码失败?

    scala - 懒惰的scala理解评估

    scala - 将 A => M[B] 转换为 M[A => B]

    java - Play 框架离线分发下载存储库

    scala - 如何修改由cmd sbt包生成的jar名称

    java - sbt 增量编译在 Java 11 中不起作用