Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

SBT in Scala

-
3
 Minuten Lesezeit
-

In diesem Artikel stellen wir dir ein Entwicklungswerkzeug für deine Scala-Projekte vor. Es handelt sich dabei um SBT, das für "Simple Build Tool" steht.

SBT Scala ist ein Open-Source-Baukasten, der die Verwaltung deiner Projekte vereinfacht. Es ermöglicht dir, deine Abhängigkeiten zu verwalten, deine JAR-Dateien zu kompilieren, auszuführen und zu verteilen. Lass uns einen genaueren Blick auf seine Hauptfunktionen werfen.

Die wichtigsten Funktionen von SBT

Verwaltung von Abhängigkeiten

In einer Konfigurationsdatei kannst du deine Abhängigkeiten verwalten und die Versionen angeben, die du benötigst. Die Auswahl der Version deiner Abhängigkeiten hilft dir, Konflikte zwischen ihnen zu vermeiden, Fehler und Sicherheitslücken zu vermeiden und die Wartung zu vereinfachen. SBT Scala lädt die Abhängigkeiten von einem Online-Bibliotheksrepository wie Maven Central herunter. Auf dieser Seite findest du die verfügbaren Abhängigkeiten mit ihren Versionen und der Syntax, um sie in dein Projekt zu integrieren.

Die Kompilation

Zunächst lädt SBT die Informationen deines Projekts aus der Konfigurationsdatei. Dann verwendet es das Compiler-System von Scala, um dein Programm in Bytecode-Dateien zu kompilieren, die von der JVM ausgeführt werden können. Diese werden im Verzeichnis „target“ abgelegt. SBT verwendet die inkrementelle Kompilierung, um die Kompilierung zu optimieren. Das bedeutet, dass er nur die Änderungen neu kompiliert.

Das Ausführen von Tests

SBT bietet eine Lösung, um deinen Code mit dem Befehl `sbt test` zu testen, der alle Tests des Projekts ausführt. Mit `sbt testOnly` kannst du eine bestimmte Klasse testen oder auch die Tests einer Datei. Vergiss nicht, dass du mit Unit-Tests viel Zeit sparen kannst.

Sie ersparen es dir, deinen gesamten Code zu überarbeiten, wenn ein Fehler entdeckt wird. Sie stellen sicher, dass ein Teil des Codes richtig in dein Projekt integriert wird.

Das Veröffentlichen von JAR-Dateien

SBT bietet dir an, dein Projekt mithilfe des Befehls `sbt package` in eine JAR-Datei zu komprimieren. Mit dem Befehl `sbt publish` kannst du dann deine JAR-Datei in einem Repository deiner Wahl veröffentlichen.

Definition der verschiedenen Modi

Der interaktive Modus

Wenn du einfacher mit deinem Projekt interagieren möchtest, bietet SBT Scala einen interaktiven Modus, der durch einfaches Ausführen des Befehls `sbt` verfügbar ist. Die Vorteile dieses Modus sind die Auto-Vervollständigung deiner Befehle und einige andere Befehle, die in der Standard-SBT-Konsole nicht verfügbar sind.

STARTE DEINE KARRIERE
IM BEREICH DATA SCIENCE

Du bist an einem Quereinstieg im Bereich Big Data interessiert, weißt aber nicht, wo Du anfangen sollst? Dann solltest Du einen Blick auf unsere Weiterbildungen im Bereich Data Science werfen.

STARTE DEINE KARRIERE
IM BEREICH DATA SCIENCE

Du bist an einem Quereinstieg im Bereich Big Data interessiert, weißt aber nicht, wo Du anfangen sollst? 

Dann solltest Du einen Blick auf unsere Weiterbildungen im Bereich Data Science werfen.

TAUCHE EIN IN DEIN ERSTES DATA ABENTEUER

Du bist am Bereich Data Science interessiert und willst die ersten Schritte in Python und Co. kennenlernen? Dann melde dich für unsere kostenlosen Data Kurse an – exklusiv diesen Sommer!
Der fortlaufende Modus

Dieser Modus überwacht deine Quelldateien und kompiliert sie automatisch bei jeder Änderung. Dadurch sparst du Zeit und das Debuggen wird einfacher.

Wenn du z. B. Tests durchführen willst, starte im interaktiven Modus `sbt „~ test“`, und SBT wird die Tests automatisch im Hintergrund starten.

Wie ist ein Projekt aufgebaut?

Le fichier build.sbt

Dies ist die Konfigurationsdatei (du kannst sie auch anders nennen, sie muss nur mit sbt enden). Hier gibst du deine Abhängigkeiten, Compiler-Optionen, Plugins zur Erweiterung der SBT-Funktionen und Einstellungen für Veröffentlichungen, Tests und Einsätze an.

Das target Verzeichnis

Dieses Verzeichnis wird z. B. durch den Befehl `sbt compile` automatisch erstellt. Es enthält deine Klassendateien, JAR-, WAR- oder ZIP-Dateien, die während des Zusammenbaus des Projekts erzeugt wurden. Es enthält auch deine Dokumentationsdateien, die aus den Kommentaren im Quellcode erstellt werden. Cache-Dateien, um die Leistung beim Kompilieren zu optimieren, und schließlich deine Testberichte. Es wird dringend davon abgeraten, diese Dateien selbst zu verändern.

Was ist der Projektordner?

Sie wird verwendet, um die Konfigurationsdateien deines Projekts zu speichern. Am häufigsten findet man dort die Datei „build.properties“, die die Baueigenschaften des Projekts enthält. Die Datei „build.sbt“, die weiter oben definiert wurde. Die Datei „Build.scala“, die eine Alternative zu „build.sbt“ ist, außer dass deine Konfiguration die Scala-Syntax verwendet. Diese Alternative wird für komplexere Projekte verwendet. Und schließlich die Datei „plugins.sbt“, die also die verwendeten SBT-Plugins enthält. Diese fügen Funktionen hinzu, wie z. B. Testverwaltung, Kompilierung der Dokumentation oder Codegenerierung.

Die wichtigsten Befehle in SBT

BefehlBeschreibung
sbtStartet die sbt-Interaktionssitzung
compileKompiliert den Scala-Code
testFührt Tests im Projekt aus
runFührt das Hauptprogramm des Projekts aus
cleanLöscht das kompilierte Ausgabe- und Zwischencache
packageErstellt ein JAR-Archiv des Projekts
dependencyTreeZeigt eine Baumstruktur der Abhängigkeiten an
consoleÖffnet die Scala-Interpreter-Konsole
reloadLädt die Build-Definition neu
exitBeendet die sbt-Interaktionssitzung
helpZeigt die Hilfe für die sbt-Befehle an

Wenn du mehr über die Technologien erfahren möchtest, die im Beruf des Data Engineers zum Einsatz kommen, dann schau dir unten unseren speziellen Kurs an!

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!