1

私はここでHerokuを使用してscalaWebアプリを作成するためのチュートリアルに従っています:https ://devcenter.heroku.com/articles/scala

そこに例を正確にコピーしましたが、実行すると

sbt clean compile stage

これらのエラーのためにコンパイルに失敗します:

[error] /home/ajcrites/dev/dyl/src/main/scala/Web.scala:1: object jboss is not a member of package org
[error] import org.jboss.netty.handler.codec.http.{HttpRequest, HttpResponse}
[error]            ^
[error] /home/ajcrites/dev/dyl/src/main/scala/Web.scala:2: object twitter is not a member of package com
[error] import com.twitter.finagle.builder.ServerBuilder
[error]            ^
[error] /home/ajcrites/dev/dyl/src/main/scala/Web.scala:3: object twitter is not a member of package com
[error] import com.twitter.finagle.http.{Http, Response}
[error]            ^
[error] /home/ajcrites/dev/dyl/src/main/scala/Web.scala:4: object twitter is not a member of package com
[error] import com.twitter.finagle.Service
[error]            ^
[error] /home/ajcrites/dev/dyl/src/main/scala/Web.scala:5: object twitter is not a member of package com
[error] import com.twitter.util.Future
[error]            ^
[error] 5 errors found

基本的に、それはfinagleが利用できないか、私が持っているパッケージか何かに含まれていないことに関係していると思います。ただし、finagleのインストール方法がわからず、上記のチュートリアルにもhttps://github.com/twitter/finagleにも手順がありません。

これをコンパイルするにはどうすればよいですか?

4

2 に答える 2

2

使用するScalaとFinagleのバージョンに依存するが、Finagleをプロジェクトに追加するには、build.sbtに以下を追加するだけです。

libraryDependencies += "com.twitter" % "finagle-core_2.9.1" % "1.11.0" exclude("org.apache.thrift", "libthrift")

libraryDependencies += "com.twitter" % "finagle-http_2.9.1" % "1.11.0"

libraryDependencies += "com.twitter" % "finagle-serversets_2.9.1" % "1.11.0" excludeAll(
  ExclusionRule(organization = "com.sun.jdmk"),
  ExclusionRule(organization = "com.sun.jmx"),
  ExclusionRule(organization = "javax.jms")
)

この例は約3か月前のものなので、新しいバージョンのFinagleを入手できると確信しています。

于 2012-07-18T11:10:13.057 に答える
0

私はコードを試しました、そしてそれは私のために働きました。おそらく、GitHubのソースが機能するかどうかを確認してください: https ://github.com/heroku/devcenter-scala

于 2012-07-18T13:39:19.667 に答える