Dieses Projekt dient in den Modulen OOP/PLAB, AD, VSK, SWDA und DEVOPS als Vorlage fuer Java-Projekte. Es nutzt einen auf Apache Maven basierenden (und somit IDE-unabhaengigen) Build und definiert die dafuer notwendige, standardisierte Verzeichnisstruktur.
Die jeweils aktuelle Version steht auf SWITCHdrive zur Verfuegung: https://drive.switch.ch/index.php/s/nz0UdWDlSQ9ogDX?path=%2F15_maven_template
Das Projekt kann einfach kopiert und umbenannt werden. In NetBeans, IntelliJ und
Visual Studio Code kann es direkt geoeffnet werden, in Eclipse ist
ein Import des Projektes (als Existing Maven Project
) notwendig.
Die beste (weil vollstaendige) Integration ist in NetBeans gegeben, in allen
anderen IDEs kann der Maven Build manuell ausgeloest werden. Nach dem Kopieren
in ein neues Verzeichnis (fuer ein neues Projekt) wird sehr empfohlen:
- den Namen des Verzeichnisses,
- den Namen des Projektes in der IDE, sowie
- die
ArtifactID
undName
(zwei Elemente impom.xml
) zwecks Vereinfachung und Konsistenz synchron zu halten. In NetBeans erreichen Sie das z.B. durch ein einfaches "Rename"-Refactoring. Sie koennen es aber auch von Hand mit einem Texteditor (z.B. notepad) erledigen.
Hinweis: Sobald Sie eigene Klassen und Testfaelle ergaenzt haben, macht es Sinn die fuer Demozwecke enthaltenen Demo-Klassen entfernen.
- Simple Logging Facade (SLF4J) - https://www.slf4j.org/
- LogBack - https://logback.qos.ch/ (Default)
- AssertJ - https://assertj.github.io/doc/
- EqualsVerifier - https://jqno.nl/equalsverifier/
- Console Captor - https://github.com/Hakky54/console-captor
- JUnit 5 - https://junit.org/junit5/
- JUnit Pioneer - https://junit-pioneer.org/
- Checkstyle - https://checkstyle.sourceforge.io/
- PMD - https://pmd.github.io/
- JaCoCo - https://www.eclemma.org/jacoco/
- Spotbugs - https://spotbugs.github.io/
- AsciiDoctor-Plugin fuer AsciiDoc
- Deployment in Package Repository (Maven Repo) von http://gitlab.com vorbereitet
- Dockerfile fuer Bau eines Docker-Images
- Fabric/Docker-Plugin fuer Build und Deploy auf DockerHub
- GitLab CI/CD (.gitlab-ci.yml) inkl. Coverageauswertung fuer Java.
- JIB-Plugin (Google) fuer Build und Deploy auf DockerHub (alternative).
Feedback und Fehlermeldungen willkommen: [email protected]