2017-09-02 64 views
0

我創建了Scalatara應用程序來構建Web服務。它使用Jetty服務器,當我創建項目時,它包含在build.sbt文件中。Jetty webapp未知神器在sbt

但是當我嘗試使用命令啓動Jetty服務器 - 碼頭:啓動,它讓我看到一個錯誤信息「不是一個有效的密鑰:碼頭」。然後,當我檢查構建文件時,它會顯示一條警告消息,如「sbt中的未知工件」針對以下依賴項。

「org.eclipse.jetty」 % 「碼頭-webapp的」 % 「9.4.6.v20170531」 % 「容器」

我用從MVN庫中的最新的依賴性,但仍,它顯示相同的錯誤。我還有什麼要做的嗎?

回答

0

您是如何創建該項目的?有沒有辦法告訴我,以便我可以重現它。將會更容易弄清楚。不管怎麼說,你可以嘗試先添加一個解析器您build.sbt:

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

+0

我創建使用命令 - 這是在Scalatra的官方網站上給出的 'SBT新了Scalatra/Scalatra的-sbt.g8': http://scalatra.org/getting-started/first-project.html –

+0

我添加了解析器,但仍顯示相同的警告。 解析器++ = Seq(Classpaths.typesafeReleases, 「Jetty」at「https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-webapp」) –

+0

突然問題現在解決了,當我做了構建再次。相信我,我嘗試過很多次,但之前沒有用過。但是,當我運行命令jetty:start時,它仍顯示錯誤消息「不是有效的密鑰:jetty」。 –

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) 
+0

除了組織,名稱和mongodb依賴關係之外,所有內容都匹配。我希望這些變化在這種情況下並不重要。我也得到了相同的logback依賴警告。我沒有在問題中提到它,因爲它在我使用不同的依賴關係時開始工作。 –

+0

突然,當我再次構建時,問題現在得到解決。相信我,我嘗試過很多次,但之前沒有用過。但是,當我運行命令jetty:start時,它仍顯示錯誤消息「不是有效的密鑰:jetty」。 –

相關問題