0

这曾经使用 web 插件与 sbt 0.7 一起工作。

我只是想编译一个 servlet,但独立的嵌入式码头也可以。

值 eclipse 不是包 org [错误] 导入的成员

_root_.org.eclipse.jetty.websocket.{ WebSocket , WebSocketServlet }

请注意,添加了root是因为它修复了 sbt 0.7.x 在冲突的打包路径中丢失的类似错误。

在我的build.sbt我有(可能只需要分发)

libraryDependencies ++= Seq (
    "org.eclipse.jetty" % "jetty-distribution" % "7.4.5.v20110725" % "jetty"
    , "org.eclipse.jetty" % "jetty-webapp" % "7.4.5.v20110725" % "jetty"
    , "org.eclipse.jetty" % "jetty-http" % "7.4.5.v20110725" % "jetty"
    , "org.eclipse.jetty" % "jetty-server" % "7.4.5.v20110725" % "jetty"
    , "org.eclipse.jetty" % "jetty-io" % "7.4.5.v20110725" % "jetty"
    , "org.eclipse.jetty" % "jetty-util" % "7.4.5.v20110725" % "jetty"
    , "org.eclipse.jetty" % "jetty-websocket" % "7.4.5.v20110725" % "jetty"
    , "org.eclipse.jetty" % "jetty-continuation" % "7.4.5.v20110725" % "jetty"
)

编译失败的文件有

package org.example

import _root_.javax.servlet.http._
import _root_.org.eclipse.jetty.websocket.{  WebSocket  , WebSocketServlet }

...

class Home extends WebSocketServlet { 

...

[编辑] - 删除目录结构信息

4

1 回答 1

3

配置中的依赖jetty仅用于运行 Jetty 本身,不会放在类路径中进行编译。要使编译类路径中的 Jetty 库可用,请使用compileprovided配置。 compile将库放在所有类路径上,而provided仅将它们放在编译(和测试)类路径上。

在这种情况下,您可能需要provided,jetty. 这使得 Jetty jars 可用于 Web 插件以运行 Jetty(jetty部件)以及将 Jetty 放在编译类路径(provided部件)上。

例如,websocket 依赖项如下所示:

"org.eclipse.jetty" % "jetty-websocket" % "7.4.5.v20110725" % "provided,jetty"
于 2011-08-15T11:55:13.750 回答