【问题标题】:Sbt- Passing a project and it's dependencies as dependency in another projectSbt-传递一个项目及其依赖项作为另一个项目中的依赖项
【发布时间】:2021-09-30 01:09:43
【问题描述】:

我有一个项目 A,它具有所有 spark 和 hadoop 依赖项。另一个项目 B 已经创建,它需要项目 A 的代码以及它的依赖项来执行。 拥有项目 A 及其依赖项的原因是因为项目 B 可以被想象为项目 A 的扩展,具有一些附加功能和代码可重用性目的。两个项目的 scala 版本将相同。

基本上 项目 B 依赖项 =(项目 A / 项目 A 依赖项)

任何关于如何实现这一点的帮助将不胜感激。

编辑:项目 A 已发布到工件,项目 B 应该使用它,并且它的依赖项作为库工作。 如果使用非托管 jars 方法,则此方法可以正常工作,因为 jars 也存在依赖项,但是将这些作为来自工件的库不会仅生成项目代码的依赖项

【问题讨论】:

  • 您可以使用 sbt 多模块设置并使模块 B 依赖于模块 A - 另一种方法是将项目 A 发布为库。
  • 我确实将项目 A 发布为库,并将其导入到项目 B 中,但它没有导入项目 A 的依赖项。
  • @sa'kage 依赖默认传递导入:scala-sbt.org/1.x/docs/…
  • 确保您的项目 A 的依赖项中没有 Provided。但如前所述,很高兴看到 SBT 设置以了解问题。
  • @JavierMontón 这个Provided 正是它没有按预期工作的原因。写这个作为答案。非常感谢

标签: scala sbt


【解决方案1】:

确保在项目 A 的依赖项末尾没有 % Provided,它用于指定您将手动提供依赖项,因此它们不会被包含在内。

【讨论】:

    猜你喜欢
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    相关资源
    最近更新 更多