2017-09-02 29 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”。 –

相关问题