Eclipse fuer die SVWS-Entwicklung
Diese Anleitung beschreibt nur die Einrichtung von Eclipse für die Arbeit am SVWS-Projekt. Betriebssystemspezifische Installationsschritte sind bewusst ausgelassen.
Voraussetzungen
- Ein installiertes JDK 21
- Git-Zugriff auf das Repository
- Eine lokal erreichbare MariaDB-Instanz fuer Serverstarts und Tests
Eclipse installieren
- Eine aktuelle Version von Eclipse IDE for Java Developers oder Eclipse IDE for Enterprise Java and Web Developers installieren
- Beim ersten Start einen lokalen Workspace festlegen
- Bei Bedarf die Speicherwerte in der
eclipse.inierhöhen
Beispiel:
-Xms2048m
-Xmx32768mEclipse konfigurieren
UTF-8 aktivieren
Window -> Preferences -> General -> Workspace -> Text file encoding -> UTF-8Window -> Preferences -> General -> Editors -> Text Editors -> Spelling -> UTF-8
Java 21 hinterlegen
- Unter
Window -> Preferences -> Java -> Installed JREsdas JDK 21 eintragen - Sicherstellen, dass das importierte Projekt ebenfalls mit Java 21 arbeitet
Optionale Plugins
- JSON Editor Plugin für die Bearbeitung der
svwsconfig.json - Checkstyle Plugin, wenn die Checkstyle-Ansicht in Eclipse genutzt werden soll
Repository einbinden
Das Repository kann direkt in Eclipse in der Git-Perspektive oder im Terminal geklont werden.
Repository:
https://github.com/SVWS-NRW/SVWS-Server
Anschließend in Eclipse:
Window -> Perspective -> Open Perspective -> Other -> GitClone a Git Repository
Gradle-Projekt importieren
- In die Java-Perspektive wechseln
Import -> Gradle -> Existing Gradle Project- Das lokale Repository-Verzeichnis auswählen
SVWS-Konfiguration anlegen
Die Beispiel-Konfiguration in das Zielverzeichnis kopieren und als svwsconfig.json ablegen.
cp ~/git/SVWS-Server/svws-server-app/src/main/resources/svwsconfig.json.example \
~/git/SVWS-Server/svws-server-app/svwsconfig.jsonFuer die lokale Entwicklung sollte PortHTTPS auf einen Wert größer oder gleich 1024 gesetzt werden, zum Beispiel 3000. So lässt sich der Server ohne erhöhte Rechte aus Eclipse starten.
Wichtige Pfade in der svwsconfig.json:
ClientPathauf das WebClient-Build-Verzeichnis setzenAdminClientPathauf das AdminClient-Build-Verzeichnis setzen- Datenbankzugang für die lokale MariaDB hinterlegen
Beispiel:
{
"EnableClientProtection" : null,
"DisableDBRootAccess" : false,
"DisableAutoUpdates" : false,
"UseHTTPDefaultv11" : false,
"PortHTTPS" : 3000,
"UseCORSHeader" : true,
"TempPath" : "tmp",
"TLSKeyAlias" : null,
"TLSKeystorePath" : ".",
"TLSKeystorePassword" : "svwskeystore",
"ClientPath" : "/home/YOUR_USERNAME/git/SVWS-Server/svws-webclient/client/build/output/",
"AdminClientPath" : "/home/YOUR_USERNAME/git/SVWS-Server/svws-webclient/admin/build/output/",
"LoggingEnabled" : true,
"LoggingPath" : "logs",
"DBKonfiguration" : {
"dbms" : "MARIA_DB",
"location" : "localhost",
"defaultschema" : "svwsdb",
"SchemaKonfiguration" : []
}
}Keystore Beispiel aus dem Projekt verwenden
Kopiere den keystore.example als keystore in das Verzeichnis ~/git/SVWS-Server/svws-server-app/. Mit diesem Keystore funktionieren die Zugangsdaten aus der Beispiel config.json.
Eigenen Keystore mit Zertifikat erstellen
keytool -genkey -noprompt -alias alias1 -dname "CN=test, OU=test, O=test, L=test, S=test, C=test" -ext "SAN=DNS:localhost,IP:127.0.0.1,IP:10.1.0.1,DNS:meinserver,DNS:meinserver.mydomain.de" -keystore /etc/app/svws/conf/keystore -storepass test123 -keypass test123 -keyalg RSA
keytool -export -keystore /etc/app/svws/conf/keystore -alias alias1 -file ./SVWS.cer -storepass test123Mit diesen Befehlen kann ein eigener Keystore mit einem Zertifikat erstellt werden. Der zweite Befehl exportiert das Zertifikat, welches dann unter den Windows-Client installiert werden kann, so dass die Warnmeldungen im Browser verschwinden.
Bauen und aktualisieren
In Eclipse
- Gradle-Tasks für die benoetigten Teilprojekte ausfuehren, zum Beispiel
cleanundbuild - Nach Änderungen an Gradle-Konfigurationen ein Project Reload ausführen
Im Terminal
cd ~/git/SVWS-Server
./gradlew clean
./gradlew buildCode Styles
Die Code Styles werden bei einem Gradle Project Reload oder Build automatisch in den Workspace geladen. Eigene lokale Abweichungen sind nicht vorgesehen.
Weitere Informationen stehen in der Anleitung Code Styles.
Checkstyle
Wenn das Checkstyle-Plugin installiert ist, kann es direkt auf dem Projekt aktiviert werden:
- Rechtsklick auf das Projekt
SVWS-Server Checkstyle -> Activate Checkstyle- Optional die Ansicht
Checkstyle Problemseinblenden
Mapstruct einrichten
Beim Neuanlegen des Projekts sollte Mapstruct automatisch funktionieren.
Bei Problemen kann diese Seite helfen.