Scala Entwicklungsumgebung aufsetzen

Veröffentlicht am 25. January 2016

Ich möchte in nächster Zeit hier einige über die funktionale Programmiersprache Scala schreiben. Um darin entwickeln zu können, muss aber zunächst die “Toolchain” aufgesetzt werden, inklusive JRE (Java Laufzeitumgebung), SBT (Scala Build Tool) und Integration in einer IDE (hier: Eclipse).

In diesem kurzen Tutorial möchte ich daher kurz beschreiben, wie man alle notwendige Software installiert, um mit der Scala-Programmierung loslegen zu können.

JDK installieren

Zuerst wird des JDK (Java Development Kit) auf den Rechner benötigt, da Scala Code in Java Bytecode kompiliert wird.
Dafür sollte die neuste JavaSE Distribution für dein betriebssystem installiert werden. Wichtig: es muss darauf geachtet werden, dass es auch wirklich das JDK installiert wird, und nicht nur das JRE, welches keinen Compiler sondern nur die Runtime beinhaltet.

Hier kann entweder die (nicht-freie) JDK Distribution von Oracle verwendet werden, oder eine freie JDK Distribution (z.B: OpenJDK).

Nach der Installation musst du sicherstellen, dass die Umgebungsvariable PATH gesetzt ist und auf das Installationsverzeichnis des JDK zeigt.
Achtung: die Umgebungsvariable sollte nicht auf das Verzeichnis mit den Java-Binaries java, javac etc. direkt zeigen, sondern auf das übergeordnete Verzeichnis, welches unter anderem die Unterverzeichnisse bin, lib, jre etc. enthält.

Unter Linux kannst du das beispielsweise erreichen, indem du die folgende Zeile iun der Datei .bash_profile hinzufügst (natürlich mit dem korrekten Pfad der Java-Installation):

JAVA_HOME="/usr/lib/jvm/java-8-oracle"

Unter Window erreichst du das, indem du zunächst die Systemsteuerung öffnet, dann die Systemeinstellungen, dann “Erweiterte Systemeinstellungen”, dann der Reiter “Erweitert”, dann der Button “Umgebungsvariablen”.
Füge eine neue Umgebungsvartiable hinzu mit dem Namen JAVA_HOME und dem Pfad des installierten JDKs (z.B: C:\Program Files\Java\jdk1.8.0_45).

SBT / Typesafe Activator installieren

Um Scala Anwendungen zu kompilieren und zu bauen, wurde das Toolkit “SBT” (steht für “Scala Build Tool”) entwickelt. Dieses verwaltet auch die Abhängigkeiten und wird zu deployen verwendet, insgesamt ähnlich zu Maven. Im Zusammenhang mit dem Play Framework haben die Scala-Erfinder Typesafe eine Erweiterung zu SBT namens “Activator” herausgebracht, welches zu den Fähigkeiten von SBT außerdem noch neue Projekte aus vorliegenden Projekt-Tenmplates/Prototypen erstellen kann und ein graphisches Web-Interface besitzt. Ich empfehle daher, den “Activator” zum Bauen von Scala-Applikationen zu nehmen.

Um loszulegen, lade einfach den Activator von der Typesafe Website herunter. Ich empfehle das “Mini-Package” (Download-Link versteckt unter dem Download-Button), welches recht klein ist und alles Notwendige bei Bedarf über das Internet herunterlädt.

Um den Activator zu installieren, kann einfach das Mini-Pakage entpackt werden, und das Zielverzeichnis dann zur PATH-Umgebungsvariable hinzugefügt werden, so dass der activator Befehl überall zur Verfügung steht.

IDE Installieren

Es gibt einige Entwickkungsumgebungen mit Sprach-Support für Scala. Eine davon ist die “Scala IDE”, die auf Eclipse aufbaut und unter scala-ide.org heruntergeladen werden kann. Die Installation ist ähnlich zu anderen Eclipse-Installationen: einfach entpacken und über die eclipse.exe (Windows) bzw eclipse (Linux) starten.

Beim Start kannst du einen Workspace auswählen, in dem ab dann deine Projektverzeichnisse gespeichert werden.

Projekt anlegen

Jetzt hast du alle erforderlichen Werkzeuge installiert, um mit der Scala-Entwicklung zu beginnen.

Um nun ein neues Projekt an zulegen, kannst du entweder die Web-UI des Activators verwenden, oder mit dem Activator über die Kommandozeile ein neues Projekt erstellen.

Um die Web-UI zu verwenden, starte einfach activator ui in einem Terminal-Fenster, oder (unter Windows) mache einen Doppelklick auf die activator.bat. Es sollte sich ein Browser öffnen mit localhost:8888. Folge einfach den Anweisungen im Browser, um dein Projekt anzulegen.

Um das Commandline-Tool zu verwenden, solltest du dir zunächst die verfügbaren Projekt-Templates auflisten lassen. Dazu führe den Befehl activator list-templates aus.
Wenn du dich für ein Template entschieden hast (z.B. “hello-scala-eclipse”), führe den Befehl activator new my-project hello-scala-eclipse aus, wobei “my-project” der Name des neuen Projektes ist.
Das neue Projekt wird als Unterverzeichnis zum aktuellen Arbeitsverzeichnis angelegt, daher solltest du den Befehl am besten in deinem Workspace-Verzeichnis ausführen.

Um das Projektverzeichnis zu betreten führe cd my-project aus.

Wenn du nun in dem Projektverzeichnis activator ausführst, erhälst du eine interaktive Shell für dein Projekt.
Beim ersten Aufruf werden sehr wahrscheinlich zunächst einige Abhängigkeiten (für SBT und für dein Projekt) aus dem Netz heruntergeladen. Dies kann eine Weile dauern.

Von nun an kannst du diese Kommandozeile nutzen, um dein Projekt zu kompilieren, zu starten und zu exportieren.
Über den SBT-Befehl compile wird der Sourcecode deines Projektes kompiliert, mit run kannst du dein Scala-Programm starten, sofern du ein main-Objekt hast.

Importieren des Projektes in die IDE

Sobald du dein Projekt mit Activator erstellt hast, möchtest du es wahrscheinlich in der IDE bearbeiten. Hierzu muss das Projekt importiert werden, bzw. es müssen die Eclipse-Projektdateien aus SBT erzeugt werden.

Hierzu wird das SBT-Plugin sbteclipse-plugin benötigt (es gibt auch entsprechende Plugin für andere Entwicklungsumgebunden, wie IntelliJ o.ä.). Falls du das Template hello-scala-sclipse gewählt hast, ist das Plugin bereits eingetragen. Bei anderen Projekttemplates kann es notwendig sein, diesen Schritt selbst durchzuführen. Hierbei mus in die Datei project/plugins.sbt (bei Bedarf erstellen!) die folgende Zeile eingetragen werden:

project/plugins.sbt
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")

Sofern die Activator-Shell noch offen ist, muss kurz mit reload die Projektdefinition neu geladen werden, dann können die Eclipse-Projektdateien mit dem SBT-Befehl eclipse angelegt werden.

Nachdem die Eclipse-Dateien angelegt wurden, kann das Projekt über “Existierendes Projekt importieren” Funktion aus Eclipse dein Projekt in die IDE importiert werden (inklusive aller Abhängiogkeiten) und du kannst mit der Programmierung loslegen.

English translation

This tutorial is in german, but there is an english version auf it on the illucIT Blog: Set up Scala Environment

Kategorie: Scala