SBT 中的子项目依赖关系

2023-12-28

我在 SBT 子项目上遇到了一个奇怪的问题,我认为这与依赖关系有关。这是我的设置:

  • 我有一个 SBT 项目,有两个子项目 A 和 B。
  • A 包含一个类和伴生对象MyA
  • B 取决于 A。
  • B 包含一个对象MyB其中有一个主要方法。

当我尝试执行时MyB从 SBT 提示符中,我得到一个NoSuchMethodError on MyA。这不是一个ClassNotFoundException,但也许它正在发生,因为它看到了MyA类路径上的类,但不是MyA object.

作为健全性检查,我删除了 B 子项目并将其源代码移至 A 源代码树中。当我跑步时MyB从 SBT 提示来看,它按预期工作。

有没有人遇到过这个,或者我做错了什么明显的事情?

这是我的项目配置:

class MyProject(info: ProjectInfo) extends ParentProject(info) {

  lazy val a = project("a", "a", new AProject(_))
  lazy val b = project("b", "b", new BProject(_), a)

  object Dependencies {
    lazy val scalaTest = "org.scalatest" % "scalatest_2.9.0" % "1.4.1" % "test"
  }

  class AProject(info: ProjectInfo) extends DefaultProject(info) with AutoCompilerPlugins {
    val scalaTest = Dependencies.scalaTest
    val continuationsPlugin = compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.9.0")
    override def compileOptions = super.compileOptions ++ compileOptions("-P:continuations:enable") ++ compileOptions("-unchecked")
  }

  class BProject(info: ProjectInfo) extends DefaultProject(info)

}

事实证明,在项目 B 上启用延续插件时出现问题。这是我的工作配置:

class MyProject(info: ProjectInfo) extends ParentProject(info) {

  lazy val a = project("a", "a", new AProject(_))
  lazy val b = project("b", "b", new BProject(_), a)

  object Dependencies {
    lazy val scalaTest = "org.scalatest" % "scalatest_2.9.0" % "1.4.1" % "test"
  }

  class AProject(info: ProjectInfo) extends DefaultProject(info) with AutoCompilerPlugins {
    val scalaTest = Dependencies.scalaTest
    val continuationsPlugin = compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.9.0")
    override def compileOptions = super.compileOptions ++ compileOptions("-P:continuations:enable") ++ compileOptions("-unchecked")
  }

  class BProject(info: ProjectInfo) extends DefaultProject(info) with AutoCompilerPlugins {
    override def compileOptions = super.compileOptions ++ compileOptions("-P:continuations:enable") ++ compileOptions("-unchecked")
  }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SBT 中的子项目依赖关系 的相关文章

  • 在 Play 上强制实施 SSL!框架

    我目前正在使用 Play 1 2 2 及其新的 Netty 客户端框架 尽管可以让 HTTP 和 HTTPS 异步服务 但我还没有找到一种简单的方法来强制执行 SSL 有没有人使用过 Play 有强制实施 SSL 的简单方法吗 不确定我是否
  • 如何使“CustomExecutionContext”可用于 Play 2.6 控制器中的依赖项注入?

    我正在跟随Play 2 6 的 Scala 文档和示例代码用于创建非阻塞操作 https www playframework com documentation 2 6 x ScalaAsync Creating non blocking
  • Scala:如何获取数据框中的行范围

    我有一个DataFrame通过运行创建sqlContext readParquet 文件的一个 The DataFrame由 300 M 行组成 我需要使用这些行作为另一个函数的输入 但我想以较小的批次进行操作 以防止 OOM 错误 目前
  • scala 生成的字节代码如何删除已检查的异常?

    是否可以为应该抛出检查异常的方法编写字节代码 例如 除非该方法声明它抛出已检查的异常 否则以下 Java 类不会编译 public class CheckedExceptionJava public Class
  • SBT:具有不同依赖项的两个 Scala 版本的交叉构建项目

    我有以下用例 我想为 scala 2 10 和 2 12 构建相同的 Scala 项目 这样做时 我想指定所提供的 2 10 版本的一些依赖项 而我希望将这些依赖项编译到 2 12 的 jar 中 我正在查看 SBT 的文档 发现如何分割b
  • 当我在 scala 中使用全局映射变量而不广播时会发生什么

    在 scala 中 当我在 scala 中使用全局映射变量而不进行广播时会发生什么 例如 如果我使用变量collect 例如collectAsMap 看来它是一个全局变量 我可以在所有地方使用它RDD mapValues 函数无需显式广播它
  • Scala:列表中不同的foldRight实现

    我刚刚发现 scala 我在 2 12 上 提供了完全不同的实现向右折叠 for 不可变列表 and 可变列表 不可变列表 List scala override def foldRight B z B op A B gt B B reve
  • 缓存隐式解析

    为了减少项目的编译时间 我缓存了通过隐式查找解析的某些类型类 但这看起来有点麻烦 因为直接的实现不起作用 scala gt implicit val x String implicitly String x String null 隐式查找
  • 将参数传递给 Scala 对象

    是否可以从外部对象初始化 Scala 对象 我尝试初始化的 Scala 对象没有任何 Companion 类 这是一个例子 object ObjectA val mongoDBConnectionURI This is the Val th
  • Scala“对象”的继承

    我有这个Java代码 class Super public static void foo bar public static void bar out println BAR public static void main String
  • 运行 mvn dependency:tree 时 Maven 无法识别同级模块

    我正在尝试设置一个多模块 Maven 项目 并且模块间依赖关系显然没有正确设置 I have
  • 作为单例集合的选项 - 现实生活中的用例

    标题几乎概括了这一点 Option作为单例集合有时会令人困惑 但有时它允许一个有趣的应用程序 我脑子里有一个例子 并且想了解更多这样的例子 我唯一的例子是运行for对的理解Option List T 我们可以执行以下操作 val v Som
  • 通过Listener获取Spark thrift服务器查询中读取的行数

    我正在尝试为我们的 ST 服务器构建一个监控系统 到目前为止 诸如记录查询 检索的行 红色和花费的时间之类的事情都很好 我已经实现了一个自定义侦听器 我能够毫无问题地检索查询和时间 侦听SparkListenerSQLExecutionSt
  • 抽象类型与类型参数

    在什么情况下抽象类型应该优先于类型参数 添加到我的之前关于抽象类型与参数的回答 https stackoverflow com questions 1154571 scala abstract types vs generics 11547
  • 列出 python 包依赖项而不加载它们?

    假设Python包A需要B C和D 有没有办法列出 A B C D 而不加载它们 Requires在元数据中 yolk M A 通常是不完整的 grr 可以下载A tar A egg 然后查看A setup py 但其中一些非常血腥 我原以
  • Scala Spark:将数据框中的双列转换为日期时间列

    我正在尝试编写代码来将日期时间列 date 和 last updated date 转换为 mm dd yyyy 格式以进行显示 它们实际上是 unix 时间转换为双精度数 我该怎么做呢 import org joda time impor
  • 超时对“Future”进行排序

    我利用了TimeoutScheduler介绍于Scala Futures 内置超时 https stackoverflow com questions 16304471 scala futures built in timeout 但是 现
  • 我需要比较两个数据帧以进行类型验证并发送非零值作为输出

    我正在比较两个数据帧 基本上 这些是两个不同数据源的模式 一个来自 hive 另一个来自 SAS9 2 我需要验证两个数据源的结构 因此我将模式转换为两个数据帧 它们是 SAS 架构将采用以下格式 scala gt metadata sho
  • 特征/类类型参数优先于方法类型参数的规则是什么

    我已经使用 scala 一段时间了 我认为我真的开始理解一切 好吧 大多数事情 但我发现自己对 Map 类中的许多方法定义感到困惑 我知道 FoldLeft 等如何工作 但我感到困惑的是 Map 函数中使用的类型参数 我们以 FoldLef
  • 在 Akka Actor 中使用 Future

    我刚刚开始学习 Scala 中的 Akka Actors 我的理解是 Actor 收到的消息会在 Actor 的邮箱中排队 并一次处理一个 通过一次处理一条消息 可以缓解并发问题 竞争条件 死锁 但是 如果 Actor 创建一个 futur

随机推荐

  • Angular 2 中 JavaScript 堆内存不足

    我正在使用 Angular CLI 请检查我的 CLI 信息 angular cli 1 2 1 node 6 10 0 os win32 x64 angular animations 4 1 1 angular common 4 0 0
  • EF 7:如何加载一对多关系中的相关实体

    我有以下代码 为什么我的导航属性 课程中的要求和要求中的课程 为空 public class Course AbsEntity Key public string Title get set public string Term get s
  • 问:R 中的 KNN——奇怪的行为

    有谁知道为什么下面的 KNN R 代码对不同的种子给出不同的预测 这很奇怪 因为 Kpost library class set seed 642002713 m 20 n 1000 from 2 30 to from train matr
  • 如何使用Python在Telegram机器人中发送表情符号?

    我正在处理一个小项目 我决定添加表情符号以使视觉效果更好一点 但我无法发送它 我尝试过像 U000203C 这样的 Unicode 甚至尝试复制表情符号并粘贴它 但仍然无法做到 有什么办法可以发送表情符号吗 Unicode exchange
  • 如何打开 VS Code 并通过 CLI 将命令传递到集成终端

    我想知道如何使用code命令打开VS Code与综合终端 https code visualstudio com docs editor integrated terminal启动时运行一些我直接传递到集成终端的命令 现在我需要采取一些行动
  • boost::ref 没有发生匹配的调用错误,但 std::ref 则没有发生匹配的调用错误

    我编写了一些代码 它使用函子和ref and bind模板来自boost or std 对于 C 11 命名空间 我正在使用一个 define之间切换boost and std 命名空间 我使用的是 boost 版本 1 53 我的编译命令
  • Pyinstaller 可执行文件导入 torchvision 失败

    这是我的main py import torchvision input Press key 它在命令行中正确运行 python main py 我需要一个适用于 Windows 的可执行文件 所以我做了 pyinstaller main
  • 更改asp图表图例标签宽度

    Aspx
  • Fancybox2:修改对多个画廊的呼吁

    我正在生成一个 HTML 页面 其中包含来自 MySQL 数据库中保存的信息的多个画廊 我需要修改 Fancybox2 调用 如下所示 document ready function a rel gall24 a rel gall30 et
  • 显示 (head .unit ) = Agda 中的 head

    我试图证明 Agda 中的一个简单引理 我认为这是正确的 如果向量有两个以上元素 则取其head继采取init与取其相同head立即地 我将其表述如下 lem headInit l xs Vec suc suc l gt head init
  • 在 Doctrine 中,如何忽略更新架构命令中的特定列?

    我有我的映射实体 named Product 只有两列 id and name 如果我手动添加另一列 即stock qty直接使用SQL语句 架构更新工具将远程它 当然 如何防止 Doctrine 删除我的自定义列 而不是映射到我的实体 相
  • 如何在 HTTP 查询字符串中发送 NULL?

    我正在开发一个 API 它可以接受主要三种数据类型作为查询字符串参数的值 boolean string numeric integer or float 默认情况下 所有内容都以字符串检索 我认为没有办法解决这个问题 但参数配置了类型 以便
  • 拥有大量小方法是否有助于 JIT 编译器优化?

    在最近关于如何优化某些代码的讨论中 我被告知将代码分解为许多小方法可以显着提高性能 因为 JIT 编译器不喜欢优化大型方法 我对此不确定 因为似乎 JIT 编译器本身应该能够识别独立的代码段 无论它们是否在自己的方法中 谁能证实或反驳这一说
  • 检查 NSDictionary 中是否存在键

    我如何检查它是否存在 dataArray objectAtIndex indexPathSet row valueForKey SetEntries 我想知道这个密钥是否存在 我怎样才能做到这一点 非常感谢 编辑 dataArray 中有对
  • 如何使 ttk.Scale 表现得更像 tk.Scale?

    Ttk 版本中还存在一些 Tk 小部件 通常它们具有相同的一般行为 但使用 样式 和 主题 而不是每个实例的外观属性 例如bg ETC 这很好 因为 Ttk 小部件默认采用操作系统窗口管理器的 标准外观 无需配置任何有关外观的内容 然而 由
  • 完美的makefile

    我想用make http en wikipedia org wiki Make 28software 29结合获得模块化构建持续集成 http en wikipedia org wiki Continuous integration 自动单
  • 为什么不需要资格?

    好的 我将发布完整的程序 即使它有无关的内容并且有问题的代码是死代码 include
  • 如何在 .NET 中查找串行端口设备及其驱动程序名称?

    我有一个通过串口连接到计算机的设备 我知道在 NET中打开端口我可以通过COM号调用该端口 例如 SerialPort s new SerialPort COM9 s Open 调用 COM9 上的设备 但是 如果我在另一台计算机上运行我的
  • SQL Server 中的 mysql 'SHOW PROCESSLIST' 相当于什么?

    我们正在转换为SQL Server from MySQL 我试图弄清楚为什么要打电话给sqsh没有回来 我怀疑有一些我不知道的锁 您如何了解正在发生的情况 最好通过数据库连接 您可以查看 sp who 和 sp who2 以查看它们是否为您
  • SBT 中的子项目依赖关系

    我在 SBT 子项目上遇到了一个奇怪的问题 我认为这与依赖关系有关 这是我的设置 我有一个 SBT 项目 有两个子项目 A 和 B A 包含一个类和伴生对象MyA B 取决于 A B 包含一个对象MyB其中有一个主要方法 当我尝试执行时My