Jestem przyzwyczajony do projektów Spring i Maven, w których konfiguruję projekt wielomodułowy w Maven z takimi projektami jak:
app-web
app-models
app-services
app-common
Teraz zaczynam używać Zagraj w Framework 2 (Scala) i sbt.
Czy istnieje podobna koncepcja z Play i SBT, że mogę zgrupować wszystkie te projekty w jednym rozwiązaniu IntelliJ IDEA i SBT?
Odpowiedzi:
8 dla odpowiedzi № 1IntelliJ IDEA 13 (najnowsza wersja to 13.1.3) przychodzi z wbudowana obsługa SBT, i edycja Ultimate dodaje obsługę Play.
Wielomodułowy projekt SBT może zostać zaimportowany do IDEA i jest w pełni obsługiwany po wyjęciu z pudełka, jednak jest oparty na Play czy nie (w końcu są to projekty SBT).
Powinieneś wypróbować to sam z poniższym bardzo uproszczonym plikiem kompilacji build.sbt (lub po prostu wygeneruj projekt Play za pomocą play new
lub lepiej teraz activator new [your-project-name] play-scala
):
lazy val a, b, c = project
i następujące project/build.properties
:
sbt.version=0.13.5
Te dwa powyższe pliki nie są potrzebne, aby rozpocząć pracę z programem sbt / activator.
W IDEA otwórz projekt za pomocą File > Open...
i wybierz build.sbt
.
Kliknij OK
aby zobaczyć inne okno, w którym określisz dodatkowe opcje konfiguracji dla projektu. Następnie pojawią się moduły.
1 dla odpowiedzi nr 2
Prawdopodobnie nie byłbyś w stanie zgrupować ich w jednym projekcie, ale na pewno możesz mieć wiele projektów:
w twoim projekcie / 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)
}
W takim przypadku będziesz mieć zwykłą aplikację o nazwie„app-web”, moduł appModels w modułach / modelach bez katalogu projektu i regularne confs, takie jak application.conf, oraz zagregowana aplikacja o nazwie „app”.
Po uruchomieniu konsoli do gier możesz się przełączyćdo niektórych projektów, wpisując „projekt (nazwa)”. Na przykład możesz wpisać „projekt aplikacji internetowej”, a następnie „pomysł”, aby wygenerować rozwiązanie projektu aplikacji internetowej. Możesz także przejść do „aplikacji” projektu, w której wszystkie wprowadzone w nim polecenia zostaną zastosowane do wszystkich podprojektów.
Aby uzyskać więcej, sprawdź dokumentację tutaj: http://www.playframework.com/documentation/2.2.x/SBTSubProjects