2011-08-15 7 views
0

これはウェブプラグインを使用してsbt 0.7で動作するために使用されました。xsbt 0.10.x xsbt-web-pluginを使用してビルド中にorg.eclipse.jettyを見つけることができません

私はサーブレットをコンパイルしようとしていますが、スタンドアロンの埋め込みブーティも問題ありません。

値食インポートパッケージORG [エラー]のメンバーではない

_root_.org.eclipse.jetty.websocket。{用WebSocket、WebSocketServlet}ルートだっ

ことこれは、競合するパッケージ化されたパスで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 { 

... 

[編集]持っている - 削除ディレクトリ構造情報

答えて

3

依存関係にあるがjetty構成はJetty自体を実行するためにのみ使用され、コンパイルのためにクラスパス上に置かれません。 Jettyライブラリをコンパイルクラスパスで使用できるようにするには、compileまたはprovidedのいずれかの設定を使用します。 compileはライブラリをすべてのクラスパスに置きますが、providedはコンパイル(およびテスト)クラスパス上にのみライブラリを置きます。

この場合、おそらくprovided,jettyが必要です。これにより、Jettyをコンパイルクラスパス(providedの一部)に配置するだけでなく、Jettyを実行するためのJettyのjarファイル(jettyの部分)が利用可能になります。

例えば、WebSocketの依存性は次のようになります。

"org.eclipse.jetty" % "jetty-websocket" % "7.4.5.v20110725" % "provided,jetty" 
関連する問題