java.lang.NoClassDefFoundError:org / eclipse / jetty / plus / webapp / PlusConfiguration

时间:2014-07-21 22:44:23

标签: jetty scalatra scalatra-sbt

我正在遵循Scalatra docs的教程,安装了Consript和Giter8,并按照描述使用g8初始化了项目。但是,当我无法使用container:start启动Jetty容器时,因为我遇到以下异常:

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

我没有对Giter生成的项目进行任何更改。 javajavac可执行文件的版本为1.7.0_65(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"))
  )

2 个答案:

答案 0 :(得分:2)

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

https://github.com/scalatra/scalatra-sbt.g8中,几天前有一些修改过的build.scala。 the version of "jetty-webapp" was changed from "8.1.8.v20121106" to "9.1.3.v20140225"

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

我会为这个问题提出问题。

祝你好运。

已添加>现在修补模板和容器:开始工作正常。 :)

答案 1 :(得分: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"