【发布时间】:2017-03-16 18:37:19
【问题描述】:
Our project主要由两部分组成
- Build.scala 根项目所在的位置
-
BuildShaded.scala 其中一些外部依赖项用sbt-assembly 遮蔽。阴影 jar 将通过
unmanagedJars设置被根项目下的子项目依赖。
问题是如何在编译根项目之前组装阴影项目。否则,根项目将无法编译,因为阴影 jar 中的那些类不可用。
【问题讨论】:
-
为什么要使用单独的构建来遮蔽外部依赖项?为什么不将它们作为托管依赖项并将它们隐藏在
Build.scala根目录中? -
因为我需要依赖于着色后的类。 “托管依赖项”将在着色之前引入类。
-
不一定。如果您同时为项目添加了
inLibrary和inProject的阴影,它也会摆脱内部依赖项。 -
你是什么意思?您有任何示例或文档吗?
标签: scala sbt sbt-assembly