Fehler beim Ausführen eines einfachen akka-Beispiels mit sbt

8

Ich folge nur dem akka-Beispiel, konnte das Programm aber nicht ausführen.

  1. Ich habe akka, sbt (0.13), scala (2.10.3) mit homebrew (OSX Mountail Lion)
  2. installiert
  3. Erstellen Sie ein leeres Verzeichnis namens akka_test
  4. Erstellen Sie build.sbt und Hello.scala Datei
  5. Führen Sie sbt im Verzeichnis akka_test aus, und der Befehl kompilieren hat gut funktioniert
  6. sbts run -Befehl beschwert sich Keine Hauptklasse erkannt

Was soll ich tun, um das Programm auszuführen?

hier ist mein Code

build.sbt

%Vor%

Hallo.scala

%Vor%     
Hongseok Yoon 11.10.2013, 07:55
quelle

3 Antworten

5

sbt run sucht nach einer "main" Klasse, d. h. einer Klasse mit def main(args: Array[String]) oder erweitert das Merkmal App . Da dies kein Akteur sein kann, müssen Sie ein System initiieren und damit HelloWorld initiieren, also etwas wie:

%Vor%

Da Systeme nur so lange laufen, bis Sie sie herunterfahren, wenn Sie Ihre Hauptklasse stoppen wollen, müssen Sie entweder Futures über akka.pattern.ask verwenden und das System beenden, nachdem Sie sie gesammelt oder einen separaten Reaper-Actor eingerichtet haben Töte das System für dich. In diesem Beitrag finden Sie weitere Informationen dazu und Diese Pull-Anfrage ist ein gutes Beispiel dafür, wie es in der Praxis aussieht (und auch andere nützliche Dinge enthält)

    
waffle paradox 11.10.2013, 08:20
quelle
13

sbt hat den run-main -Befehl, der die Hauptklasse von der Befehlszeile akzeptiert, so ist der volle Befehl

%Vor%     
Ponimas 05.11.2013 13:47
quelle
4

Wenn Sie ein Paket haben, müssen Sie den Pfad hinzufügen. Zum Beispiel, wenn Sie das Paket com.foo.bar
haben (Ihre HelloWorld ist in ./youProject/src/main/scala/com/foo/bar) dann lautet der Befehl:

%Vor%     
kondratx 06.01.2014 18:38
quelle

Tags und Links