Informationssysteme II, Bachelor Wirtschaftsinformatik
Stefan Sarstedt, stefan.sarstedt(at)haw-hamburg.de
Sven Berding, sven.berding(at)haw-hamburg.de
-
Installiere Java (JDK 21) auf Deinem Rechner:
- entweder (ohne Gewähr, aber einfacher als unten, wenn es klappt :-):
- macOS/Linux: führe im Terminal
curl -Ls https://sh.jbang.dev | bash -s - jdk install 21
aus - Windows: führe im Terminal (Powershell/PS, nicht cmd/command)
iex "& { $(iwr https://ps.jbang.dev) } jdk install 21"
aus (inklusive der Anführungszeichen!)
- macOS/Linux: führe im Terminal
- oder:
- Installiere das OpenJDK 21 - nicht das Java Runtime Environment (JRE)
- Verwende, wenn möglich, dazu einen Paketmanager (unter macOS/Linux bspw. Homebrew oder SDKMAN!, unter Windows bspw. Chocolatey oder Scoop)
- Unter Windows müssen Umgebungsvariablen gesetzt werden, prüfe dies nach Deiner Installation, ansonsten können die Befehle (
java
,javac
) nicht im Terminal verwendet werden:- 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! - Im Normalfall sollte diese Aufgabe der Paketmanager (s.o.) erledigt haben!
- JAVA_HOME setzen und den Compiler in den PATH aufnehmen (Anleitung hier); verwende dort statt des in den Screenshots gezeigten
- entweder (ohne Gewähr, aber einfacher als unten, wenn es klappt :-):
-
Ö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, anlegen, ansehen, 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 unser Projekt:
git clone https://github.com/srs-haw/ss24_in2lab
-
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 vonPS
) bist. -
Wechsle in das Projektverzeichnis (dort liegt u.a. die Datei
build.gradle
) -
Übersetze das Projekt und 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 cmd/command)
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 die vorherigen Punkte). 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. -
Importiere nun Dein Projekt in IntelliJ (
File->New->Project from Existing Sources
).- Öffne unbedingt den Hauptordner, 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 and 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
.