我使用SBT 0.13.0并具有以下配置:
lazy val remington = project.in(file("remington"))
lazy val mossberg = project.in(file("mossberg")).dependsOn(remington)
lazy val root = project.in(file(".")).dependsOn(mossberg)
当我在" mossberg"中运行包裹任务时项目,来自" remington"项目不包含在生成的jar中。如何包含来自" remington"的班级文件?当我打包" mossberg"项目
答案 0 :(得分:1)
内置package
任务创建一个模块化JAR,一个只包含当前项目中的类文件的JAR文件。模块化JAR为您提供最大的灵活性,因此发布它们更为可取。但是对于部署等,如果你想聚合类文件,我可以想到几种方法。
sbt-assembly创建了一个胖JAR,一个包含所有依赖项的JAR,包括库依赖项和Scala库。
sbt 0.13还允许您跨多个范围(包括子项目)聚合任务结果,因此您可以使用它来从两个项目中创建包含sources
的人工项目。请参阅Getting values from multiple scopes中的sources
示例。