Scala多模块项目?

  • 我有Java背景和思考学习Scala
  • 我喜欢使用Maven一件事是我可以将项目作为多个maven模块。 例?
 Project/pom.xml /persistence/pom.xml /business/pom.xml /services/pom.xml 

关于它的好处是这些模块中的每一个都可以拥有自己的依赖项,并且可以独立测试,而不是运行一个整体应用程序。

我们如何在Scalasbt或其生态系统中实现类似的function?

你绝对可以做到。 它被称为SBT Multi-Project构建 。 您可以使用类似的内容定义一个主项目和多个子项目(来自上面的文档链接):

 import sbt._ import Keys._ object HelloBuild extends Build { lazy val root = Project(id = "hello", base = file(".")) aggregate(foo, bar) lazy val foo = Project(id = "hello-foo", base = file("foo")) lazy val bar = Project(id = "hello-bar", base = file("bar")) } 

每个项目都可以单独构建,您也可以将每个项目打包到一个单独的JAR中,或者将它们全部组合到一个主JAR中。 每个项目都可以定义自己的依赖项,但如果需要,也可以共享它们。 基本上你有完全的控制权。 例如, 在这里查看我的项目构建文件。