在build.sbt中添加根模块有什么好处吗?
我有多模块sbt项目:在build.sbt中添加根模块有什么好处吗?,sbt,multi-module,Sbt,Multi Module,我有多模块sbt项目: ├── build.sbt ├── bar │ ├── build.sbt │ └── ... ├── foo │ ├── build.sbt │ └── ... └── ... 和2个版本的build.sbt: 第二版: lazy val foo = project in(file("./foo")) lazy val bar = project in(file("./bar")) lazy val root = Project(id = "root
├── build.sbt
├── bar
│ ├── build.sbt
│ └── ...
├── foo
│ ├── build.sbt
│ └── ...
└── ...
和2个版本的build.sbt:
第二版:
lazy val foo = project in(file("./foo"))
lazy val bar = project in(file("./bar"))
lazy val root = Project(id = "root",
base = file(".")) aggregate(foo, bar)
这些版本之间有什么区别?第二个版本有什么优点吗?第二个版本在sbt命令行加载了类型项目,您应该看到其中有三个。前面有一颗星星的是默认项目。它将是您的根项目。您键入的命令将应用于它。由于它是一个聚合项目,因此命令将依次应用于foo和bar
package是一个很好的示例命令—键入它应该生成一个jar文件,其中包含foo和bar类,如果您需要的话 我认为这两个版本只适用于顶级build.sbt,这个问题可以在不参考它们的情况下回答。
lazy val foo = project in(file("./foo"))
lazy val bar = project in(file("./bar"))
lazy val root = Project(id = "root",
base = file(".")) aggregate(foo, bar)