3

我按照Scalatra 文档中的教程进行操作,安装了 Consript 和 Giter8,并按照描述使用 g8 初始化了项目。但是,当我无法启动 Jetty 容器container:start时,我得到以下异常:

[error] (container:start) java.lang.NoClassDefFoundError: org/eclipse/jetty/plus/webapp/PlusConfiguration

我没有对 Giter 生成的项目进行任何更改。可执行文件的版本是java1.7.0_65 javac(Sun)。

这些是来自的库依赖项build.scala

  libraryDependencies ++= Seq(
    "org.scalatra" %% "scalatra" % ScalatraVersion,
    "org.scalatra" %% "scalatra-scalate" % ScalatraVersion,
    "org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test",
    "ch.qos.logback" % "logback-classic" % "1.0.6" % "runtime",
    "org.eclipse.jetty" % "jetty-webapp" % "9.1.3.v20140225" % "container",
    "org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container;provided;test" artifacts (Artifact("javax.servlet", "jar", "jar"))
  )
4

2 回答 2

2

我遇到了同样的问题,花了几个小时来找出如何解决它。但什么结果都没有。:( 所以我必须查看 Scalatra 模板。

https://github.com/scalatra/scalatra-sbt.g8中,几天前有一些修改过的 build.scala。"jetty-webapp" 的版本从 "8.1.8.v20121106" 更改为 "9.1.3.v20140225"

然后我在项目的 build.scala 文件中将 jetty-webapp 的版本修改为以前的版本,并且应用程序运行良好。:)

我会针对这个问题提出问题。

祝你好运。

已添加 > 现在修补的模板和 container:start 工作正常。:)

于 2014-07-22T09:01:46.480 回答
0

对于 scalatra 2.3.0,它是这样的:

"org.eclipse.jetty" % "jetty-webapp" % "9.1.5.v20140505" % "container",
"org.eclipse.jetty" % "jetty-plus" % "9.1.5.v20140505" % "container",
"javax.servlet" % "javax.servlet-api" % "3.1.0"
于 2014-09-30T18:04:59.223 回答