使用gradle创建Akka项目

来源:互联网 发布:windows服务器监控 编辑:程序博客网 时间:2024/05/21 14:46
  1. 新建一个AkkaDemo目录,进入该目录,新建一个build.gradle文件,输入以下内容
apply plugin: 'idea'apply plugin: 'scala'task "createDirs" << {    sourceSets*.scala.srcDirs*.each { it.mkdirs() }    sourceSets*.resources.srcDirs*.each { it.mkdirs() }}repositories{    mavenCentral()    mavenLocal()}dependencies{    compile "org.scala-lang:scala-library:2.10.4"    compile "org.scala-lang:scala-compiler:2.10.4"    compile "org.scala-lang:scala-reflect:2.10.4"    compile "com.typesafe.akka:akka-actor_2.11:2.4.4"    testCompile "junit:junit:4.11"}task run(type: JavaExec, dependsOn: classes) {    main = 'Main'    classpath sourceSets.main.runtimeClasspath    classpath configurations.runtime}
  1. 进入build.gradle同级目录,在空白处按着”shift”键点击右键–》在此处打开命令行窗口。执行以下命令,创建项目骨架。
gradle cDirs
  1. 打开Idea,导入刚刚创建好的项目。
  2. 新建scala文件,输入以下内容:
import akka.actor.{Actor, ActorLogging, ActorRef, ActorSystem, Props}class Actor1 extends Actor with ActorLogging {  val actor2 = context.actorOf(Props(new Actor2("actor2")), "actor2")  override def receive: Receive = {    case "test" => log.info("received test!")    case msg => actor2.tell(msg, sender())  }}class Actor2(name: String) extends Actor with ActorLogging {  override def receive = {    case msg => log.info(name + " received message [{}] from sender of [{}]", msg, sender)  }}object Demo {  def main(args: Array[String]): Unit = {    val demo = ActorSystem("demo")    val actor1 = demo.actorOf(Props[Actor1], name = "actor1")    actor1 ! "test"    actor1 ! "nihao"  }}
原创粉丝点击