0

我创建了 Scalatara 应用程序来构建 Web 服务。它使用 Jetty 服务器,并且在我创建项目本身时包含在build.sbt文件中。

但是,当我尝试使用命令jetty:start启动码头服务器时,它会显示一条错误消息"not a valid key: jetty"。然后,当我检查构建文件时,它会为以下依赖 项显示一条警告消息作为“sbt 中的未知工件” 。

“org.eclipse.jetty”%“jetty-webapp”%“9.4.6.v20170531”%“容器”

我使用了 MVN 存储库中的最新依赖项,但仍然显示相同的错误。我在这里还有什么需要做的吗?

4

2 回答 2

0

请比较下面显示的 build.sbt 文件的代码,如果有任何遗漏,您应该在 build.st 文件中更新。

import org.scalatra.sbt._
import org.scalatra.sbt.PluginKeys._
import ScalateKeys._

val ScalatraVersion = "2.5.1"

ScalatraPlugin.scalatraSettings

scalateSettings

organization := "com.github.karthikeyana"

name := "My Scalatra Web App"

version := "0.1.0-SNAPSHOT"

scalaVersion := "2.12.3"

resolvers += Classpaths.typesafeReleases

libraryDependencies ++= Seq(
  "org.scalatra" %% "scalatra" % ScalatraVersion,
  "org.scalatra" %% "scalatra-scalate" % ScalatraVersion,
  "org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test",
  "ch.qos.logback" % "logback-classic" % "1.1.5" % "runtime",
  "org.eclipse.jetty" % "jetty-webapp" % "9.2.15.v20160210" % "container",
  "javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided",
  "org.mongodb" %% "casbah" % "3.1.1"
)

scalateTemplateConfig in Compile := {
  val base = (sourceDirectory in Compile).value
  Seq(
    TemplateConfig(
      base / "webapp" / "WEB-INF" / "templates",
      Seq.empty,  /* default imports should be added here */
      Seq(
        Binding("context", "_root_.org.scalatra.scalate.ScalatraRenderContext", importMembers = true, isImplicit = true)
      ),  /* add extra bindings here */
      Some("templates")
    )
  )
}

enablePlugins(JettyPlugin)
于 2017-09-02T06:18:32.853 回答
0

你是如何创建这个项目的?有什么方法可以告诉我,以便我重现它。会更容易弄清楚。无论如何,您可以尝试首先将解析器添加到您的 build.sbt :

resolvers += "Jetty" at "https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-webapp"

于 2017-09-02T06:00:47.873 回答