/ / Як імпортувати багатомодульний проект в IntelliJ IDEA? - intellij-idea, playframework-2.0, sbt

Як імпортувати мультимодульний проект в IntelliJ IDEA? - intellij-ідея, playframework-2.0, sbt

Я звик до проектів Spring та Maven, де я створив багатомодульний проект в Maven з такими проектами:

app-web
app-models
app-services
app-common

Я зараз використовую Play Framework 2 (Scala) і СБТ.

Чи є подібна концепція з Play і sbt, що я можу згрупувати всі ці проекти в єдине рішення IntelliJ IDEA і sbt?

Відповіді:

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

IntelliJ IDEA 13 (остання версія є 13.1.3) поставляється с вбудована підтримка SBT, і Випуск Ultimate додає підтримку Play.

Мультимодульний sbt-проект можна імпортувати до IDEA і повністю підтримувати його поза коробкою, однак він на основі Play чи ні (вони "sbt проекти все-таки).

Спробуйте спробувати самостійно за допомогою наступного дуже спрощеного файлу збірки build.sbt (або просто генерувати проект Play із play new або краще зараз activator new [your-project-name] play-scala):

lazy val a, b, c = project

і наступне project/build.properties:

sbt.version=0.13.5

Нічого, крім цих двох вищезазначених файлів, не потрібно для початку роботи з sbt / activator.

У IDEA відкрийте проект, використовуючи File > Open... і виберіть build.sbt.

введіть опис зображення тут

Натисніть OK щоб побачити ще одне вікно, де ви вказуєте додаткові параметри конфігурації для проекту. Потім з'являються модулі.

введіть опис зображення тут


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

Ви, ймовірно, не змогли б згрупувати їх в один проект ідеально, але ви могли б мати кілька проектів точно:

у вашому проекті / Build.scala:

{

val baseDependencies = Seq(
"org1" % "dep" % "latest.integration",
"org2" % "dep2" % "version"
)

val modelDependencies = baseDependencies ++ Seq("org3" % "dep3" % "version")

val appWeb = play.Project("app-web", "1.0", baseDependencies)

val appModels = play.Project("app-models", "1.0", modelDependencies, path = file("modules/models"))

val app = play.Project("app", "1.0", Nil).aggregate(appWeb, appModels)
}

У цьому випадку у вас буде звичайна програма, яка називається"app-web", модуль appModels під модулями / моделями без каталогу проектів і регулярних конфіденційних програм, наприклад application.conf, і зведеним додатком під назвою "app".

Коли ви запускаєте ігрову консоль, ви можете переключитисядо певних проектів, ввівши "проект (ім'я)". Наприклад, ви можете ввести "проект app-web", а потім "ідею", щоб генерувати проект-рішення для проекту. Ви також можете переключитися на проект "додаток", коли всі команди, введені під ним, будуть застосовані до всіх підпроектів.

Докладніше перегляньте тут документацію: http://www.playframework.com/documentation/2.2.x/SBTSubProjects