ses*_*ses 9 java intellij-idea akka
来自Akka的网站文档:
然后,这个主要方法将创建运行actor所需的基础结构,启动给定的主actor,并在主actor终止后安排整个应用程序关闭.因此,您将能够使用类似于以下的命令运行上述代码:
java -classpath akka.Main example.two.HelloWorld
那么,我如何从IntelliJ IDEA启动它呢?我还没有找到合适的窗口.
对AKKA的依赖已经在项目中:
<dependencies>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.10</artifactId>
<version>2.2-M3</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
代码本身(你可以看到没有main(...)):
public class HelloWorld extends UntypedActor {
@Override
public void preStart() {
// create the greeter actor
final ActorRef greeter =
getContext().actorOf(Props.create(Greeter.class), "greeter");
// tell it to perform the greeting
greeter.tell(Greeter.Msg.GREET, getSelf());
}
@Override
public void onReceive(Object msg) {
if (msg == Greeter.Msg.DONE) {
// when the greeter is done, stop this actor and with it the application
getContext().stop(getSelf());
} else unhandled(msg);
}
}
Run Code Online (Sandbox Code Playgroud)
mab*_*aba 12
看起来文档和二进制发行版不同步.
正如你在Github上看到的那样,这Main.scala是在16天前添加的.
要解决此问题,您可以将依赖项版本更改为SNAPSHOT.将快照存储库添加到pom并将版本更改为2.2-SNAPSHOT:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.stackoverflow</groupId>
<artifactId>akka-app</artifactId>
<version>1.0-SNAPSHOT</version>
<name>${project.artifactId}-${project.version}</name>
<repositories>
<repository>
<id>akka-snapshots</id>
<name>Akka Snapshots</name>
<url>http://repo.akka.io/snapshots/</url>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.10</artifactId>
<version>2.2-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
现在akka.Main将可用.要启动应用程序,您必须指向正确的主类并添加自己的actor类作为参数.
首先选择创建一个新的运行配置:

然后添加一个新应用程序:

给应用程序一个名字(Actor或者其他东西)并填写主类akka.Main,并将你的HelloWorld类添加为Program Arguments(记得包括完整的包):

现在您已准备好运行程序,只需按工具栏中的播放按钮:

瞧!