我正在遵循Scalatra docs的教程,安装了Consript和Giter8,并按照描述使用g8初始化了项目。但是,当我无法使用container:start
启动Jetty容器时,因为我遇到以下异常:
[error] (container:start) java.lang.NoClassDefFoundError: org/eclipse/jetty/plus/webapp/PlusConfiguration
我没有对Giter生成的项目进行任何更改。 java
和javac
可执行文件的版本为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"))
)
答案 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"