sbtを使用して単純なScalaクラスを構築すると、奇妙な問題が発生しました。桟橋サーバーを起動するためにインターネットからコピーしたコードで十分です。
object JettyEmbedded {
def main(args: Array[String]) {
val server = new org.eclipse.jetty.server.Server(9080)
val context= new org.eclipse.jetty.webapp.WebAppContext()
context.setServer(server)
context.setContextPath("/");
context.setWar("src/main/webapp")
server.setHandler(context);
try {
server.start()
server.join()
} catch {
case e: Exception => {
e.printStackTrace()
System.exit(1)
}
}
}
}
SBTとscala2.9.2でコンパイルすると、次のエラーが発生しました。
[error] /src/main/scala/JettyEmbedded.scala:4: object eclipse is not a member of package org
[error] val server = new org.eclipse.jetty.server.Server(9080)
build.sbtで確認できますが、次のような依存関係があります。
"org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container",
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container;provided;test" artifacts (Artifact("javax.servlet", "jar", "jar"))
この問題のあるファイルを削除し、container:start from sbtを使用してJettyサーバーを実行すると、問題なく実行されます。