/ / Грааль / Налаштування IntelliJ з декількома модулями - grails, intellij-idea, soa

Grails / IntelliJ setup with multiple modules - grails, intellij-idea, soa

Зараз я визначаю структуру проекту для проекту, над яким я працюю. Проект є простою реалізацією SOA, і як такий має додаток для грааль та ряд різних сервісів.

Я хотів упакувати ці служби в окремі модулі (банки), щоб їх можна було легко розгорнути окремо і не було ризику забруднення класів витратами.

Структуру та залежності проекту можна уявити як:

Grails App (war)
|__ Service Gateway (jar)
|__Service A (jar)
|__Service B (jar)

Хоча ці сервіси з часом будуть розгорнуті окремо, для зручності місцевого розвитку я хочу упакувати їх у єдине додаток для граалів до тих пір, поки не потрібно розбити їх.

Моєю кінцевою метою було вміти їх розвиватислужби так само, як і просте додаток для грааля, завдяки чому я зможу змінити будь-який клас (у будь-якому з модулів) на ходу і підняти його.

Я намагаюся, хоча бачити найкращий спосіб представити цю структуру в IntelliJ.

Я створив окремі модулі для кожного з перерахованих вище і додав залежності між ними, але очевидно, що grails не має цього поняття під час виконання.

Я прочитав про та знайшов наступні можливі рішення, усі з яких зараз почуваються трохи незадовільно, оскільки вимагає побудувати банку, що означає, що класи не можуть бути перезавантажені на льоту.

  1. Встановіть модулі в місцевий сховище Maven і посилайтеся на це в залежності від побудови граалів.
  2. Перекиньте вбудовані банки в каталог lib.
  3. Додайте їх як плагіни для грааля (здається, трохи важкі, оскільки вони не потребують функціональності граалів).
  4. Знайдіть інший спосіб включення вихідних каталогів для цих модулів на клас grails (не впевнений, чистіший спосіб зробити це).

Дякую!

Відповіді:

0 для відповіді № 1

Врешті-решт, я пішов з мультимодулем Maven build. Ключ до розгортання льоту коду - це використання JRebel для моніторингу вихідних каталогів та перезавантаження класів при їх зміні.