pekko/akka-docs/intro/getting-started.rst

165 lines
5.4 KiB
ReStructuredText
Raw Normal View History

2011-04-09 19:55:46 -06:00
Getting Started
===============
The best way to start learning Akka is to try the Getting Started Tutorial,
which comes in several flavours depending on you development environment
preferences:
- :ref:`getting-started-first-java` for Java development, either
- as standalone project, running from the command line,
- or as Maven project and running it from within Maven
- :ref:`getting-started-first-scala` for Scala development, either
- as standalone project, running from the command line,
- or as SBT (Simple Build Tool) project and running it from within SBT
The Getting Started Tutorial describes everything you need to get going, and you
don't need to read the rest of this page if you study the tutorial. For later
look back reference this page describes the essential parts for getting started
with different development environments.
Prerequisites
-------------
Akka requires that you have `Java 1.6 <http://www.oracle.com/technetwork/java/javase/downloads/index.html>`_ or
later installed on you machine.
Download
--------
There are several ways to download Akka. 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
-------
2011-04-09 19:55:46 -06:00
Akka is very modular and has many JARs for containing different features.
2012-03-05 10:50:54 +13:00
- ``akka-actor-2.1-SNAPSHOT.jar`` -- Standard Actors, Typed Actors and much more
- ``akka-remote-2.1-SNAPSHOT.jar`` -- Remote Actors
- ``akka-slf4j-2.1-SNAPSHOT.jar`` -- SLF4J Event Handler Listener
- ``akka-testkit-2.1-SNAPSHOT.jar`` -- Toolkit for testing Actors
- ``akka-kernel-2.1-SNAPSHOT.jar`` -- Akka microkernel for running a bare-bones mini application server
- ``akka-<storage-system>-mailbox-2.1-SNAPSHOT.jar`` -- Akka durable mailboxes
2011-04-09 19:55:46 -06:00
How to see the JARs dependencies of each Akka module is described in the
:ref:`dependencies` section. Worth noting is that ``akka-actor`` has zero
external dependencies (apart from the ``scala-library.jar`` JAR).
Using a release distribution
----------------------------
Download the release you need from http://akka.io/downloads and unzip it.
Using a snapshot version
------------------------
The Akka nightly snapshots are published to http://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.
2011-04-09 19:55:46 -06:00
Microkernel
-----------
2011-04-09 19:55:46 -06:00
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.
2011-04-09 19:55:46 -06:00
More information is available in the documentation of the :ref:`microkernel`.
2011-04-09 19:55:46 -06:00
Using a build tool
2011-04-11 21:26:13 -06:00
------------------
2011-04-09 19:55:46 -06:00
Akka can be used with build tools that support Maven repositories. The Akka
Maven repository can be found at http://repo.akka.io/releases/ and Typesafe provides
http://repo.typesafe.com/typesafe/releases/ that proxies several other
repositories, including akka.io.
2011-04-09 19:55:46 -06:00
Using Akka with Maven
---------------------
Information about how to use Akka with Maven, including how to create an Akka
Maven project from scratch, can be found in the
:ref:`getting-started-first-java`.
Summary of the essential parts for using Akka with Maven:
2011-04-09 19:55:46 -06:00
1) Add this repository to your ``pom.xml``:
2011-04-09 19:55:46 -06:00
.. code-block:: xml
<repository>
2011-08-26 17:25:18 +02:00
<id>typesafe</id>
<name>Typesafe Repository</name>
<url>http://repo.typesafe.com/typesafe/releases/</url>
2011-04-09 19:55:46 -06:00
</repository>
2012-03-05 10:50:54 +13:00
2) Add the Akka dependencies. For example, here is the dependency for Akka Actor 2.1-SNAPSHOT:
2011-04-09 19:55:46 -06:00
.. code-block:: xml
<dependency>
<groupId>com.typesafe.akka</groupId>
2011-04-09 19:55:46 -06:00
<artifactId>akka-actor</artifactId>
2012-03-05 10:50:54 +13:00
<version>2.1-SNAPSHOT</version>
2011-04-09 19:55:46 -06:00
</dependency>
**Note**: for snapshot versions both ``SNAPSHOT`` and timestamped versions are published.
2011-04-09 19:55:46 -06:00
Using Akka with SBT
-------------------
Information about how to use Akka with SBT, including how to create an Akka SBT project from scratch,
can be found in the :ref:`getting-started-first-scala`.
2011-04-09 19:55:46 -06:00
Summary of the essential parts for using Akka with SBT:
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
SBT installation instructions on `https://github.com/harrah/xsbt/wiki/Setup <https://github.com/harrah/xsbt/wiki/Setup>`_
2011-08-26 17:25:18 +02:00
``build.sbt`` file::
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
name := "My Project"
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
version := "1.0"
2011-04-09 19:55:46 -06:00
scalaVersion := "2.9.1"
2011-04-09 19:55:46 -06:00
2011-08-26 17:25:18 +02:00
resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
2011-04-09 19:55:46 -06:00
2012-03-05 10:50:54 +13:00
libraryDependencies += "com.typesafe.akka" % "akka-actor" % "2.1-SNAPSHOT"
2011-04-09 19:55:46 -06:00
Using Akka with Eclipse
-----------------------
Setup SBT project and then use `sbteclipse <https://github.com/typesafehub/sbteclipse>`_ to generate Eclipse project.
2011-08-26 17:25:18 +02:00
Using Akka with IntelliJ IDEA
-----------------------------
Setup SBT project and then use `sbt-idea <https://github.com/mpeltonen/sbt-idea>`_ to generate IntelliJ IDEA project.
2011-04-09 19:55:46 -06:00
Build from sources
2011-04-11 21:26:13 -06:00
------------------
2011-04-09 19:55:46 -06:00
Akka uses Git and is hosted at `Github <http://github.com>`_.
2012-03-05 10:27:00 +01:00
* Akka: clone the Akka repository from `<http://github.com/akka/akka>`_
2011-04-09 19:55:46 -06:00
Continue reading the page on :ref:`building-akka`
2011-04-09 19:55:46 -06:00
Need help?
2011-04-11 21:26:13 -06:00
----------
2011-04-09 19:55:46 -06:00
If you have questions you can get help on the `Akka Mailing List <http://groups.google.com/group/akka-user>`_.
2011-05-16 08:34:55 +02:00
You can also ask for `commercial support <http://typesafe.com>`_.
2011-04-09 19:55:46 -06:00
Thanks for being a part of the Akka community.