SBT多项目如何共享同一个actor系统

How SBT multi-project share the same actor system

我正在研究 SBT 多项目解决方案。

现在我有:

这样的层次结构:

测试环境

我想把一些像akka ActorSystem这样的主要功能和对象放在test-core中,可以在test-proj1和test-proj2中引用。 这可以通过在 test-env 的 build.sbt 中编写项目依赖来完成,如下所示:

val env = (project in file(".")) 
val core = (project in file("test-core"))
    .aggregate(proj1,proj2)
    .settings(
        run / aggregate := true
    )
lazy val coreRef = LocalProject("core") 
lazy val proj1 = (project in file("test-proj1")).dependsOn(coreRef) 
lazy val proj2 = (project in file("test-proj2")).dependsOn(coreRef)

但问题是:
当我通过 test-proj1 和 test-proj2.They 引用在 test-core 中定义的 ActorSystem 时,它们不是同一个 ActorSystem.
而且我不想将它们全部放在一个项目中并将 proj1 和 proj2 作为一个包。
那么我如何通过这个项目层次结构引用同一个 ActorSystem 呢?

两个子项目有两个主要功能。
两个主要功能意味着两个应用程序。
两个应用程序意味着两个过程。
默认情况下,两个进程意味着不共享任何内容。

所以上面说的子项目层次结构无法解决"the same ActorSystem instance"问题。