Software-Engineering 1, Bachelor Angewandte Informatik
Stefan Sarstedt, stefan.sarstedt(at)haw-hamburg.de
Sven Berding, sven.berding(at)haw-hamburg.de
-
Installiere lokal auf Deinem Rechner:
- Java OpenJDK (nicht das Java Runtime Environment (JRE)! Mindestens das JDK 11, erfolgreich getestet auch mit JDK 17: https://openjdk.org. JDK 20 läuft auf dem Terminal, allerdings nicht in IntelliJ.
- Unter Windows:
- JAVA_HOME setzen und den Compiler in den PATH aufnehmen (Anleitung hier); verwende dort statt des in den Screenshots gezeigten
jdk1.8.0_121
entsprechend deine installierte Version!
- JAVA_HOME setzen und den Compiler in den PATH aufnehmen (Anleitung hier); verwende dort statt des in den Screenshots gezeigten
-
Öffne ein Terminal-Fenster.
- Unter Windows: Nutze die Windows-Kommandozeile (cmd) und nicht die Powershell (PS)! Falls du dich in einer Powershell befindest (sichtbar durch das
PS
am Zeilenanfang), rufecmd
auf, um eine Windows-Kommandozeile zu öffnen. Bei Änderungen der Systemeinstellungen (JAVA_HOME, PATH, ...) muss das Terminal neu geöffnet werden, damit die Änderungen effektiv werden. - Falls du noch nicht sicher im Umgang mit einem Terminal bist (Verzeichnisse wechseln, etc.), schaue dir ein Tutorial wie z.B. dieses für Windows oder dieses für Linux oder diese für macOS an.
- Unter Windows: Nutze die Windows-Kommandozeile (cmd) und nicht die Powershell (PS)! Falls du dich in einer Powershell befindest (sichtbar durch das
-
Klone Dein Projekt:
git clone https://github.com/srs-haw/se1lab.git
-
Prüfe mittels
javac -version
(vergiss das "c" nicht!), ob Du das korrekte JDK verwendest! Falls nicht, achte auf die korrekte Einrichtung des JDK (Punkt 1) und ob du in der richtigen Shell (unter Windows: cmd anstelle von PS) bist. -
Führe die Tests im Terminal aus mittels
./gradlew clean build (unter Linux/macOS, bei Bedarf dort zuvor "chmod +x ./gradlew" ausführen, um die Ausführungsberechtigung zu setzen)
bzw.
gradlew.bat clean build (unter Windows)
Gradlew/Gradle ist ein Tool zur Automatisierung (ähnlich
maven
,make
,npm
,msbuild
, ...) und übersetzt das Projekt, führt die Tests aus und erzeugt eine Jar-Datei aus den Quellen. Informationen zu gradle findest Du hier. Wesentlich ist die Dateibuild.gradle
, in der die Projektabhängigkeiten zu externen Bibliotheken und Tasks definiert werden. Durch das Java-Plugin stehen Tasks zur Übersetzung, Starten der Applikation, etc. zur Verfügung. Du kannst alles verfügbaren Tasks mittels./gradlew (gradlew.bat) tasks
auflisten.Es sollte
Build Successful
erscheinen (falls nein, prüfe noch einmal Punkt 6 - den FehlerErrors occurred while build effective model from ... jaxb-osgi:2.2.10
kannst Du ignorieren). Die erste Ausführung des Gradle-Wrappersgradlew
dauert etwas länger, da zunächst die Gradle-Distribution und dann die abhängigen Java-Bibliotheken geladen werden (später kommen sie aus dem lokalen Cache).
Falls ein Fehler wieExecution failed for task ':bootJarMainClassName'... Could not resolve ...
auftritt, blockiert wahrscheinlich deine Firewall das Herunterladen der Depedencies. Problem und Lösung siehe hier:
-
Installiere lokal auf Deinem Rechner (achte auf die aktuellen Versionen!):
- (empfohlen) Jetbrains IntelliJ IDEA Ultimate(!), aktuelle Version: https://www.jetbrains.com/idea/ (du kannst dies mit Deiner
haw-hamburg.de
-Adresse kostenlos nutzen)- Evtl. hattest du schon einmal ein JetBrains-Studierenden-Abo. Falls es abgelaufen ist, kannst du es in deinem Profil auf der JetBrains-Seite verlängern.
- (alternativ) Eclipse mit Lombok Plugin: https://projectlombok.org (Anleitung hier).
- (empfohlen) Jetbrains IntelliJ IDEA Ultimate(!), aktuelle Version: https://www.jetbrains.com/idea/ (du kannst dies mit Deiner
-
Starte IntelliJ, aber öffne das Projekt noch nicht!
-
Aktiviere in IntelliJ bei den Preferences unter
Editor->Code Style
auf dem TabFormatter
die OptionTurn formatter on/off with markers in code comments
. Falls diese Option nicht gesetzt ist, führt dies in den REST-assured-Testfällen zu unschönen Code-Reformatierungen, die das Lesen dieser Testfälle erschweren. -
Öffne nun Dein geforktes Projekt in IntelliJ.
- Öffne unbedingt den se1lab-Ordner, in dem die build.gradle, src-Ordner etc. liegen - nicht einen übergeordneten Ordner! Sonst erkennt IntelliJ das Projekt nicht.
- Es dauert etwas beim ersten Laden.
-
Aktiviere bei den Preferences unter
Build,Execution,Deployment->Compiler->Annotation Processors
das Annotation Processing (Enable annotation processing
). Hierdurch erkennt IntelliJ die erzeugten Lombok-Artefakte korrekt und erzeugt keine Warnungen/Fehler mehr im Editor aufgrund (fälschlich) "fehlender" Getter/Setter. Evtl. ist das in deiner IntelliJ Ultimate bereits voreingestellt. -
Setze bei den Preferences unter
Build,Execution,Deployment->Build Tools->Gradle
die OptionenBuild an run using
undRun tests using
aufGradle
. -
Setze unter
File->Project Structure
das JDK (OptionProject Settings->Project
) auf deine JDK-Version (entsprechend dein heruntergeladenes JDK - evtl. musst du das JDK erst hinzufügen: OptionPlatform Settings->SDKs
). -
Öffne ein Terminal in IntelliJ (
View->Tool Windows->Terminal
im Menü). Führe die Tests wie unter A.5 beschrieben hier im Terminal aus.- Unter Windows: evtl. nutzt IntelliJ die Windows Powershell PS. In diesem Falle rufst du dort wieder
cmd
auf (siehe A.2) oder kannst auch das Default-Terminal von IntelliJ unterPreferences->Tools->Terminal->Shell Path
ändern.
- Unter Windows: evtl. nutzt IntelliJ die Windows Powershell PS. In diesem Falle rufst du dort wieder
-
Du kannst auch die Tests durch die IDE ausführen lassen. Gehe dazu mit der rechten Maustaste auf Dein Projekt und wähle
Run Tests in se1lab
.