Ошибка файла сборки sbt при сборке автономного jar-файла scalatra

Я пытаюсь создать автономный файл Jar для своего проекта scalatra. Я следую приведенному здесь ответу. Автономное развертывание сервлета Scalatra . По сути, это попытка варианта 1 Standalone Jar, т.е. я хочу, чтобы все в каталоге webapps было упаковано в файл jar.

Однако мои ограниченные знания sbt не позволяют мне перевести приведенный здесь пример в мой собственный build.sbt. ищу ответы на вопрос, что я делаю не так. В частности, я пытаюсь адаптировать эту часть ниже к моему собственному build.sbt

        (managedBase, base) =>
    val webappBase = base / "src" / "main" / "webapp"
    for {
      (from, to) <- webappBase ** "*" x rebase(webappBase, managedBase / "main" / "webapp")
    } yield {
      Sync.copy(from, to)
      to
    }
}

а вот и весь мой файл build.sbt

      val ScalatraVersion = "2.7.0-RC1"

name := "my_project"

organization := "com.my_org"

version := "0.2"

scalaVersion := "2.12.7"

resolvers += Classpaths.typesafeReleases

libraryDependencies ++= Seq(
  "org.scalatra" %% "scalatra" % ScalatraVersion,
  "org.scalatra" %% "scalatra-scalatest" % ScalatraVersion % "test",
  "ch.qos.logback" % "logback-classic" % "1.2.3" % "runtime",
  "org.eclipse.jetty" % "jetty-webapp" % "9.4.9.v20180320" % "container;compile",
  "javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided",
  "org.scalatra" %% "scalatra-json" % "2.6.5",
  "org.json4s"   %% "json4s-native" % "3.6.7",
  "com.amazon.redshift" % "redshift-jdbc42" % "1.2.10.1009",
  "org.json4s" %% "json4s-jackson" % "3.6.7",
  "com.amazonaws" % "aws-java-sdk-lambda" % "1.12.27",
  "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.12.3"
)

enablePlugins(SbtTwirl)
enablePlugins(ScalatraPlugin)

assemblyMergeStrategy in assembly := {
  case PathList("META-INF", xs @ _*) => MergeStrategy.discard
  case x => MergeStrategy.first
}

resourceGenerators in Compile <+= (resourceManaged, baseDirectory) map {
  (managedBase, base) =>
    val webappBase = base / "src" / "main" / "webapp"
    for {
      (from, to) <- webappBase ** "*" x rebase(webappBase, managedBase / "main" / "webapp")
    } yield {
      Sync.copy(from, to)
      to
    }
}

Ошибка в том, что мой build.sbt синтаксически неверен, и проект не собирается.

      error: value map is not a member of (sbt.SettingKey[java.io.File], sbt.SettingKey[java.io.File])
resourceGenerators in Compile <+= (resourceManaged, baseDirectory) map {

Я знаю, что неправильно устанавливаю AssemblySettings, но не могу понять, как это сделать. Любая помощь приветствуется.

0 ответов

Другие вопросы по тегам