Tôi gặp một số vấn đề lạ khi sử dụng sbt để xây dựng một lớp Scala đơn giản. Mã này chỉ đơn giản là đủ mà tôi sao chép từ Internet để bắt đầu một máy chủ cầu cảng:scala xây dựng với SBT không thể nhập các lớp java?
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)
}
}
}
}
để biên dịch với SBT và scala 2.9.2, tôi đã nhận được lỗi sau:
[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)
tôi có thể thấy trong build.sbt, tôi có các phụ thuộc như:
"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"))
Nếu tôi chỉ xóa tệp vi phạm này và chạy máy chủ Jetty với vùng chứa: bắt đầu từ sbt, nó không có vấn đề gì!
để làm cho nó xa lạ, nó biên dịch và chạy tốt trong Eclipse/Scala-IDE – Wudong
Bạn có chắc chắn bạn có cầu nối trên đường dẫn sbt của bạn? –
Bạn có cầu cảng như một phụ thuộc trong tệp xây dựng của mình không? –