客户端项目访问 IntelliJ 中的 Akka actor 的依赖项

Dependencies for client project to access Akka actor in IntelliJ

我用 IntelliJ 做了一个 Scala 项目。它实现了 akka actor。

我会 运行 它在本地服务器上。

然后我打算做一个客户项目,它会与演员项目交谈。我会在客户项目中使用来自第一个项目的一些消息 类。

如何构造呢?如何在客户端项目中添加此依赖项?

我建议您创建第三个模块,称为 something-protocol,并将将在客户端和服务器之间发送的消息 类 移动到那里.

然后,由于您将拥有三个独立的模块,我建议您设置一个构建系统,例如 Gradle 或 Maven 或 sbt(如果您还没有的话),并添加三个模块之间的依赖关系(即客户端依赖于协议,服务器依赖于协议)在构建配置文件中。这样,任何从版本控制中检出您的代码的人都可以构建您的项目,即使他们选择不使用 IntelliJ。

您可以:

  1. 使用多模块构建,以便它在 IntelliJ 中显示为一个项目。这样你就不用担心版本问题了。

  2. 使它们成为三个完全独立的模块,在这种情况下,您应该在构建文件中对模块和依赖项规范进行版本控制,以尽量避免不兼容问题。为此,您应该使用 semantic versioning。您还必须确保不会意外部署客户端和服务器的不兼容版本 - 在这种情况下,构建时的依赖版本检查是不够的。

您选择哪种方法取决于您的部署要求。如果你需要能够独立升级客户端和服务器,你将不得不选择第二种方式。