我想知道如何将常规 scala 项目转换为 sbt 项目。我已经尝试在根目录上手动创建一个 sbt 文件,正确实现,但 Intellij 仍然无法将其识别为 sbt 项目,即它不会在“ View -> 工具窗口”中显示“SBT” "选项。
我该怎么办?我实际上想做的是创建一个包含多个(独立)模块的空项目。
从我收集到的信息来看,似乎没有办法直接添加带有 sbt 支持的模块,对吗?
谢谢
最佳答案
这是一个多项目构建的示例。根项目将它们全部“聚合”在一起,以防你想将它们全部编译在一起或将它们打包在一起,等等。“coreLibrary”项目依赖于“coreA”和“coreB”的代码。
import sbt.Keys._
import sbt._
name := "MultiProject"
lazy val root = project.in(file(".")).aggregate(coreA, coreB, coreLibrary)
lazy val coreA = Project("CoreA", file("core-a")).settings(
organization := "org.me",
version := "0.1-SNAPSHOT"
)
lazy val coreB = Project("CoreB", file("core-b")).settings(
organization := "org.me",
libraryDependencies += "org.apache.kafka" %% "kafka" % "0.8.2-beta",
version := "0.3-SNAPSHOT"
)
lazy val coreLibrary = Project("UberCore", file("core-main")).dependsOn(coreA, coreB).settings(
organization := "org.me",
version := "0.2-SNAPSHOT"
)
您可以(例如)从命令行编译每个项目:
>sbt CoreB/compile
或者您可以交互式地执行此操作:
>sbt
>project CoreB
>compile
关于scala - 将 Scala 中的模块项目设置为 sbt 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33905789/