0

私はjavaとplayframewrokを使用してakkaプロジェクトに取り組んでいます。

akkaリモートクラスタリングでクラスターシステムを構築したい。

しかし、build.scalaファイルに依存関係を追加した後

次のエラーが発生します。

[info] Done updating.
[error] java.lang.NoClassDefFoundError: akka/util/FiniteDuration 

これはbuild.scalaファイルのコードです

object ApplicationBuild extends Build {

    val appName         = "akka-remote"
    val appVersion      = "1.0-SNAPSHOT"


    val appDependencies = Seq(
      "com.typesafe.akka" % "akka-actor" % "2.1-SNAPSHOT" ,
          "com.typesafe.akka" % "akka-remote" % "2.1-SNAPSHOT" ,
         "com.typesafe.akka" % "akka-kernel" % "2.1-SNAPSHOT"
    )

    val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
      // Add your own project settings here 
        resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases"
    )

}

誰かがこの問題を解決するのを手伝ってもらえますか?

4

2 に答える 2

2

Playの最新の安定バージョンを使用していると思います!

遊ぶ!フレームワーク2.0.xはAkka2.0.2に同梱されていますが、Akkaリモートには同梱されていません。追加するには、次を使用します。

val appDependencies = Seq(
      "com.typesafe.akka" % "akka-actor" % "2.0.2" ,
      "com.typesafe.akka" % "akka-remote" % "2.0.2" ,
      "com.typesafe.akka" % "akka-kernel" % "2.0.2"
)

ロギング機能が必要な場合は、追加することもできます

 "com.typesafe.akka" % "akka-slf4j" % "2.0.2"

Playで2.1Akkaリリースを使用する場合!2.0.xセリエ多分あなたはいくつかの衝突を得る

于 2012-09-20T09:12:13.310 に答える
1

AkkaにはすでにPlayフレームワークが付属しています:https ://github.com/playframework/Play20/blob/master/framework/project/Build.scala#L280

ただし、組み込みバージョンは最新バージョンではありません(Play2.0.3の場合はAkka2.0.2)。

最新のAkkaバージョンを追加すると、libの競合が発生する可能性があります。

そしてあなたの問題として、あなたの依存バージョン(2.1-SNAPSHOT)はTypesafeリポジトリに存在しません:http releases//repo.typesafe.com/typesafe/releases/com/typesafe/akka/akka-actor/

Typesafesnapshotsリポジトリを使用する必要があります。

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
    resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/snapshots"
)
于 2012-09-20T06:29:26.807 に答える