Getting Started
Loading

Getting Started

Prerequisites

Akka requires that you have Java 1.6 or later installed on you machine.

Getting Started Guides and Template Projects

The best way to start learning Akka is to download the Typesafe Stack and either try out the Akka Getting Started Tutorials or check out one of Akka Template Projects. Both comes in several flavours depending on your development environment preferences.

Download

There are several ways to download Akka. You can download it as part of the Typesafe Stack (as described above). You can download the full distribution with microkernel, which includes all modules. Or you can use a build tool like Maven or SBT to download dependencies from the Akka Maven repository.

Modules

Akka is very modular and consists of several JARs containing different features.

  • akka-actor -- Classic Actors, Typed Actors, IO Actor etc.
  • akka-remote -- Remote Actors
  • akka-testkit -- Toolkit for testing Actor systems
  • akka-kernel -- Akka microkernel for running a bare-bones mini application server
  • akka-transactor -- Transactors - transactional actors, integrated with Scala STM
  • akka-agent -- Agents, integrated with Scala STM
  • akka-camel -- Apache Camel integration
  • akka-zeromq -- ZeroMQ integration
  • akka-slf4j -- SLF4J Event Handler Listener
  • akka-filebased-mailbox -- Akka durable mailbox (find more among community projects)

The filename of the actual JAR is for example akka-actor_2.12-2.1.4.jar (and analog for the other modules).

How to see the JARs dependencies of each Akka module is described in the Dependencies section.

Using a release distribution

Download the release you need from http://typesafe.com/stack/downloads/akka and unzip it.

Using a snapshot version

The Akka nightly snapshots are published to https://repo.akka.io/snapshots/ and are versioned with both SNAPSHOT and timestamps. You can choose a timestamped version to work with and can decide when to update to a newer version. The Akka snapshots repository is also proxied through http://repo.typesafe.com/typesafe/snapshots/ which includes proxies for several other repositories that Akka modules depend on.

Warning

The use of Akka SNAPSHOTs, nightlies and milestone releases is discouraged unless you know what you are doing.

Microkernel

The Akka distribution includes the microkernel. To run the microkernel put your application jar in the deploy directory and use the scripts in the bin directory.

More information is available in the documentation of the Microkernel (Scala) / Microkernel (Java).

Using a build tool

Akka can be used with build tools that support Maven repositories.

Maven repositories

For Akka version 2.1-M2 and onwards:

Maven Central

For previous Akka versions:

Akka Repo Typesafe Repo

Using Akka with Maven

The simplest way to get started with Akka and Maven is to check out the Akka/Maven template project.

Since Akka is published to Maven Central (for versions since 2.1-M2), is it enough to add the Akka dependencies to the POM. For example, here is the dependency for akka-actor:

<dependency>
  <groupId>com.typesafe.akka</groupId>
  <artifactId>akka-actor_2.12</artifactId>
  <version>2.1.4</version>
</dependency>

Note: for snapshot versions both SNAPSHOT and timestamped versions are published.

Using Akka with SBT

The simplest way to get started with Akka and SBT is to check out the Akka/SBT template project.

Summary of the essential parts for using Akka with SBT:

SBT installation instructions on https://github.com/harrah/xsbt/wiki/Setup

build.sbt file:

name := "My Project"

version := "1.0"

scalaVersion := "2.10.1"

resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"

libraryDependencies +=
  "com.typesafe.akka" %% "akka-actor" % "2.1.4"

Note: the libraryDependencies setting above is specific to SBT v0.12.x and higher. If you are using an older version of SBT, it that line should look like this:

libraryDependencies +=
  "com.typesafe.akka" % "akka-actor_2.12" % "2.1.4"

Using Akka with Gradle

Requires at least Gradle 1.4 Uses the Scala plugin

apply plugin: 'scala'

repositories {
  mavenCentral()
}

dependencies {
  compile 'org.scala-lang:scala-library:2.10.1'
}

tasks.withType(ScalaCompile) {
  scalaCompileOptions.useAnt = false
}

dependencies {
  compile group: 'com.typesafe.akka', name: 'akka-actor_2.12', version: '2.1.4'
  compile group: 'org.scala-lang', name: 'scala-library', version: '2.10.1'
}

Using Akka with Eclipse

Setup SBT project and then use sbteclipse to generate a Eclipse project.

Using Akka with IntelliJ IDEA

Setup SBT project and then use sbt-idea to generate a IntelliJ IDEA project.

Using Akka with NetBeans

Setup SBT project and then use sbt-netbeans-plugin to generate a NetBeans project.

Build from sources

Akka uses Git and is hosted at Github.

Continue reading the page on Building Akka

Need help?

If you have questions you can get help on the Akka Mailing List.

You can also ask for commercial support.

Thanks for being a part of the Akka community.

Contents