gpt4 book ai didi

scala - 将带有子项目的SBT项目作为单个Maven工件发布

转载 作者:行者123 更新时间:2023-12-01 06:49:32 26 4
gpt4 key购买 nike

我有一个Scala库的SBT项目。该实现分散在多个SBT子项目中,但是我想将该库发布为单个JAR。我构造了以下示例:

val subProject = project

val myLibrary = project
.in(file("."))
.dependsOn(subProject)

项目 myLibrary为主项目,它依赖于所有其他子项目。如果运行 sbt myLibrary/package,我将在项目 myLibrary中得到一个JAR文件,其中仅包含类文件,源代码和源代码的呈现文档。通过向 myLibrary添加如下设置,我发现以下解决方法可以包含来自其他子项目的文件:
val myLibrary = project
.in(file("."))
.dependsOn(subProject)
.settings(
Compile / packageBin / mappings ++= (subProject / Compile / packageBin / mappings).value,
Compile / packageSrc / mappings ++= (subProject / Compile / packageSrc / mappings).value,
Compile / packageDoc / mappings ++= (subProject / Compile / packageDoc / mappings).value)

产生相同结果的预期方式是什么?

最佳答案

您可以看一下sbt-assembly插件,它会创建项目的 fat jar jar(包括所有依赖项)。

关于scala - 将带有子项目的SBT项目作为单个Maven工件发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54521187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com