Dienstag, Februar 18, 2020

Was ist erforderlich, um sbt build mit Akka?

Ich bin versucht, die scala akka von sbt.

Meine sbt-Datei sieht wie folgt aus:

name := "hello"

version := "1.0"

scalaVersion := "2.9.1"

resolvers += "akka" at "http://repo.akka.io/snapshots"

libraryDependencies ++= Seq(
  "com.codahale"      % "simplespec_2.9.0-1" % "0.4.1",
  "com.typesafe.akka" % "akka-stm"           % "2.0-SNAPSHOT" 
)

mein code:

import akka._

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello, world!")
  }
}

Wenn ich sbt compile bekomme ich

]# **sbt compile**
[info] Set current project to default-91c48b (in build file:/var/storage1/home/test_user/dev_scala/hello/)
[info] Compiling 1 Scala source to /var/storage1/home/test_user/dev_scala/hello/target/scala-2.9.2/classes...
[error] /var/storage1/home/test_user/dev_scala/hello/src/main/scala/hw.scala:3: not found: object akka
[error] import akka._
[error]        ^
[error] one error found
[error] (compile:compile) Compilation failed
[error] Total time: 3 s, completed May 22, 2013 8:59:08 PM

Bitte um Rat.

EDIT2:
basierend auf den Kommentaren unten. hier ist der neue sbt-Datei

name := "hello"
version := "1.0"
scalaVersion := "2.9.1"

resolvers += "akka" at "http://repo.akka.io/snapshots"

libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-actor" % "2.1.4",
  "com.codahale" % "simplespec_2.9.0-1" % "0.4.1",
  "com.typesafe.akka" % "akka-stm" % "2.0-SNAPSHOT" ,
  "com.typesafe.akka" %% "akka-actor"    % "2.2-M3",
"com.typesafe.akka" %% "akka-slf4j"    % "2.2-M3",
"com.typesafe.akka" %% "akka-remote"   % "2.2-M3",
"com.typesafe.akka" %% "akka-testkit"  % "2.2-M3"% "test"
)

irgendwelche Ideen ?

3 Kommentare

  1. 12

    Hatten Sie nicht alle richtigen Abhängigkeiten für Ihr Projekt.

    Haben Sie fügen diese "com.typesafe.akka" %% "akka-actor" % "2.0.5". Dies ist die wichtigste Abhängigkeit mit der core-Module für akka. Auch ist es besser, fügen Sie die folgenden Bilder für Ihre akka-Projekt:

    "com.typesafe.akka" %% "akka-actor"    % "2.0.5",
    "com.typesafe.akka" %% "akka-slf4j"    % "2.0.5",
    "com.typesafe.akka" %% "akka-remote"   % "2.0.5",
    "com.typesafe.akka" %% "akka-agent"    % "2.0.5", 
    "com.typesafe.akka" %% "akka-testkit"  % "2.0.5"% "test"

    Und Schauspieler sollten Sie die import akka.actor._

    Aktualisiert

    Ok, das build-file funktioniert bei mir

    name := "hello"
    
    version := "1.0"
    
    scalaVersion := "2.10.1"
    
    libraryDependencies ++= Seq(
      "com.typesafe.akka" %% "akka-actor"   % "2.2-M3",
      "com.typesafe.akka" %% "akka-slf4j"   % "2.2-M3",
      "com.typesafe.akka" %% "akka-remote"  % "2.2-M3",
      "com.typesafe.akka" %% "akka-agent"   % "2.2-M3",
      "com.typesafe.akka" %% "akka-testkit" % "2.2-M3" % "test"
    )

    Vergessen Sie nicht reload und update Ihr Projekt im sbt

    • Danke für Eure Hilfe, immer noch genau die gleiche Fehlermeldung.
    • ich kann nicht einmal laufen sbt mit dem build.sbt gibt es kein solches Modul bei "http://repo.akka.io/snapshots". Wie haben Sie diese build-Datei?
    • ich habe aktualisiert die Abhängigkeiten für akka, es funktioniert für mich
    • Ich änderte es auf Resolver += „Typesafe-Repository“ at „repo.typesafe.com/typesafe/releases“ pro akka docs
    • Sie hat eine sbt-update?
    • Die version von Scala und Akka müssen Sie verwenden?
    • scala 2.10.1 und das neueste aus akka
    • Ich habe aktualisiert Ihre bauen, kopieren Sie einfach fügen Sie diese zu Ihrem Aufbau.sbt und geben reload und die update in Ihrem sbt-Konsole
    • funktioniert Super vielen thaks @AlexIv
    • Alte Abhängigkeiten in den ursprünglichen Bereich. Verwenden Sie die aktuellen Versionen von akka und scala für neue Projekte (2.10.1 und akka 2.2-M3 zum Zeitpunkt des Schreibens)

  2. 1

    Ihre akka-Schauspieler Abhängigkeit KANN absolut NICHT sein, eine andere version als die anderen Abhängigkeiten.
    Und alle Abhängigkeiten, die Sie hinzufügen KÖNNEN absolut NICHT angewiesen sein auf verschiedenen Versionen von akka entweder, oder du hast eine sehr versaut dependency tree.

    – Und Sie können auch verwenden, aktuelle Versionen, wenn Sie ausgehend sind. Coltrane 2.2-M3 ist aktuell zum Zeitpunkt des Schreibens.

    Können Sie fügen Sie einige mehr akka libs wie notwendig…
    Aber dies ist eine grundlegende Ausgangspunkt, basierend auf einem realen Projekt, dass wir in prod:

    name := "app"
    
    organization := "com.yourorg"
    
    version := "0.0.1-SNAPSHOT"
    
    scalaVersion := "2.10.1"
    
    scalacOptions ++= Seq("-unchecked", "-deprecation")
    
    resolvers ++= Seq(
        "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
    )
    
    
    libraryDependencies ++= Seq(
      "com.typesafe.akka" %% "akka-actor" % "2.2-M3",
      "com.typesafe.akka" %% "akka-slf4j" % "2.2-M3",
      "com.typesafe.akka" %% "akka-testkit" % "2.2-M3"
    )
    • danke für die Erklärung.
  3. 0

    AKTUALISIERT AM 24.03.2019

    Die Verwendung von Akka Actors müssen Sie die folgenden Abhängigkeiten:

    Für sbt:

    libraryDependencies ++= Seq(
      "com.typesafe.akka" %% "akka-actor" % "2.5.21",
      "com.typesafe.akka" %% "akka-testkit" % "2.5.21" % Test
    )

    Für Gradle:

    dependencies {
      compile group: 'com.typesafe.akka', name: 'akka-actor_2.12', version: '2.5.21'
      testCompile group: 'com.typesafe.akka', name: 'akka-testkit_2.12', version: '2.5.21'
    }

    Für Maven:

    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-actor_2.12</artifactId>
      <version>2.5.21</version>
    </dependency>
    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-testkit_2.12</artifactId>
      <version>2.5.21</version>
      <scope>test</scope>
    </dependency>

    Weitere Infos und Abhängigkeit-Codesnippets über Akka Cluster, Akka Streams, Akka Http, Alpakka usw prüfen: https://akka.io/docs/

Kostenlose Online-Tests