intellij-idea - 客户端项目在 IntelliJ 中访问 Akka Actor 的依赖项
问题描述
我在 IntelliJ 中做了一个 Scala 项目。它实现了 akka 演员。
我会在本地服务器上运行它。
然后我计划制作一个与演员项目对话的客户项目。我将使用客户端项目中第一个项目的一些消息类。
如何构造它?如何在客户端项目中添加此依赖项?
解决方案
我建议您创建第三个模块,称为something -protocol,并将在客户端和服务器之间发送的消息类移动到那里。
然后,由于您将拥有三个独立的模块,我建议您设置一个构建系统,例如 Gradle 或 Maven 或 sbt(如果您还没有的话),并添加三个模块之间的依赖关系(即客户端依赖于协议,服务器依赖于在协议上)在构建配置文件中。这样,任何从版本控制中签出您的代码的人都可以构建您的项目,即使他们选择不使用 IntelliJ。
您可以:
使用多模块构建,以便它在 IntelliJ 中显示为一个项目。这样您就不必担心版本控制。
使它们成为三个完全独立的模块,在这种情况下,您应该在构建文件中对模块和依赖项规范进行版本控制,以避免不兼容问题。您应该为此使用语义版本控制。您还必须确保不会意外部署不兼容的客户端和服务器版本 - 在这种情况下,在构建时检查依赖项版本是不够的。
您选择哪种方法取决于您的部署要求。如果您需要能够独立升级客户端和服务器,您将不得不选择第二种方法。
推荐阅读
- php - 序号联系表 7
- babeljs - babel v7 的 `babel-plugin-module-resolver` 的替代品是什么?
- java - JAXB JavaTypeAdapter 不工作
- matlab - 在 MATLAB 中为二维数组中的字段赋值
- javascript - 如何从另一个父类方法调用父类方法
- haskell - Haskell cabal中基础的依赖冲突
- julia - 为什么不可变类型通过复制传递?
- javascript - 计算对象的新 x 大小
- azure - 我正在尝试从部署后脚本文件中的 ARM 模板读取输出值。你能给我读这些值的语法吗?
- c# - 0 到 9999999999.99 范围内小数的 TextBox 按键事件处理