Зависимости клиентского проекта для доступа актера Akka в IntelliJ - PullRequest
0 голосов
/ 20 мая 2018

Я сделал проект Scala в IntelliJ.Он реализует актеры akka.

Я бы запустил его на локальном сервере.

Затем я планирую создать клиентский проект, который будет общаться с актерами проекта.Я бы использовал некоторые классы сообщений из первого проекта в клиентском проекте.

Как это структурировать?Как добавить эту зависимость в клиентский проект?

1 Ответ

0 голосов
/ 20 мая 2018

Я бы порекомендовал вам создать третий модуль, называемый что-то -protocol, и переместить туда классы сообщений, которые будут отправляться между клиентом и сервером.

Затем, так каку вас будет три отдельных модуля, я бы порекомендовал вам настроить систему сборки, такую ​​как Gradle или Maven или sbt, если вы этого еще не сделали, и добавить зависимости между этими тремя модулями (т. е. клиент зависит от протокола, сервер зависит от протокола)в конфигурационных файлах сборки.Таким образом, любой, кто извлечет ваш код из системы контроля версий, сможет создать ваш проект, даже если он решит не использовать IntelliJ.

Вы можете либо:

  1. используйте многомодульную сборку, чтобы в IntelliJ все это выглядело как один проект.Таким образом, вам не нужно беспокоиться о версионировании.

  2. сделайте их тремя совершенно отдельными модулями, в этом случае вам следует проверить версии модулей и спецификации зависимостей в файлах сборки, чтобы попробоватьчтобы избежать проблем несовместимости.Для этого вы должны использовать семантическое управление версиями .Вам также необходимо убедиться, что вы случайно не развернули несовместимые версии клиента и сервера - в этом сценарии недостаточно проверок версий зависимостей во время сборки.

Какой подход вам подходитВыбор будет зависеть от ваших требований к развертыванию.Если вам необходимо самостоятельно обновить клиент и сервер, вам придется выбрать второй подход.

...