gpt4 book ai didi

使用 SBT 构建的 scala 无法导入 java 类?

转载 作者:行者123 更新时间:2023-12-02 12:22:43 25 4
gpt4 key购买 nike

我在使用 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 和 scala 2.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服务器,它运行没有问题!

最佳答案

更改此行:

"org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container",

至:

"org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container;provided",

解决了问题。

sbt 不要将“容器”类放入编译类路径中,而在 Eclipse 中它并不关心。

关于使用 SBT 构建的 scala 无法导入 java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13955230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com