Я пытаюсь создать веб-проект с помощью akka-http, идея состоит в том, чтобы иметь 2 банки:
- Большой Uber Jar со всеми зависимостями
- Маленький JARтолько с кодом приложения.
Используя это, мне нужно только обновить небольшую банку с кодом приложения при разработке.Только при обновлении зависимостей мне нужно перезапустить зависимости.
Для сборки я использовал следующую настройку:
lazy val commonSettings = Seq(
name := "akka-http",
version := "0.1",
scalaVersion := "2.11.7"
)
lazy val deps = (project in file("deps"))
.settings(
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-http" % "10.1.5",
"com.typesafe.akka" %% "akka-http-testkit" % "10.1.5" % Test
)
, assemblyJarName in assembly := "app-dependencies"
)
lazy val web = (project in file("web")).dependsOn(deps)
.settings(commonSettings
, assemblyJarName in assembly := "web-app")
Но при импорте файла build.sbt в IntelliJ это не удается.(Deps - это существующий, но пустой каталог).
:: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: deps#deps_2.11;0.1.0-SNAPSHOT: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
Я думал или предполагал, что на этапе разработки зависимые проекты не нужно собирать?Это зависит от правильной стратегии для этого, или я должен сделать все библиотечные зависимости доступными для web
с предоставленной областью действия?Это похоже на дублирование кода?