Eigenständiges Jave Module/Artefakt erstellen
Maven Module separieren und importieren

Zielsetzung
- Ein eigenständiges Maven Modul/Artefakt erstellen
- Dieses Modul über ein Repository und anderen zur Verfügung stellen.
- Dieses Modul in einem eigene Projekt einbinden und nutzen können.
- Ein Modul/Artefakt eines Kollegen in das eigenen Projekt einbinden und nutzen.
Aufgabe — Maven‑Module erstellen und nutzen
- Idee: Für ein Maven Projekt muss die Bibliothek für das Berechnen von Volumen erstellt werden.
Volumen ist einfacher als Koordinaten.- Schritte (grober Ablauf):
- Erstellen Sie ein neues Java Projekt, das Maven verwendet. ZBsp. MathLib
- Java 21 / ch.bbw.pr.mathlib / mymathlib
- Es braucht keine Main‑Klasse, da es sich um eine Bibliothek handelt.
- Dafür aber die Klasse Volume, die mindestens eine Methoden enthält.
ZBsp. Berechnung von Volumen von einem Zylinder.- Schreiben Sie im Header über der Klasse ihren Namen.
- Um die Methoden zu Testen, erstellen Sie eine Testklasse mit JUnit‑Tests.
ZBsp. Testen der Volumenberechnung von einem Zylinder.
Laufen die Tests erfolgreich durch?- Bauen Sie nun das Artefakt
mvn clean package
Das Ergebnis ist eine JAR‑Datei.- Veröffentlichen Sie nun das Artefakt in Ihrem lokalen Repository.
mvn install- Überprüfen Sie, ob das Artefakt im lokalen Repository vorhanden ist.
~/.m2/repository/ch/bbw/pr/mathlib/mymathlib/1.0-SNAPSHOT/- Nun brauchen Sie noch ein Projekt, dass diese Bibliothek verwendet.
- Erstellen Sie ein weiteres Java Projekt, das Maven verwendet. ZBsp. MyApp
- Java 21 / ch.bbw.pr.mymath / mathapp
- Ergänzen Sie die Main‑Klasse und rufen Sie in der main-Methode die Methoden der obigen Bibliothek auf.
- Schreiben Sie im Header über der Klasse ihren Namen.
- Rufen Sie die Methoden von MyLib im der Main-Methode von MyApp auf.
Tipp:import ch.bbw.pr.mathlib.Volumes;- Binden Sie MyLib dazu als Dependency ein.
- Kontrollieren Sie, ob das Projekt läuft, und die Methoden der Bibliothek korrekt aufgerufen werden.
Aufgabe — Maven‑Module öffentlich bereitstellen
- Es gibt verschiedene Möglichkeiten ein Maven‑Artefakt öffentlich bereitzustellen, zBsp. über einen File‑Share, über einen privaten Server oder über die Veröffentlichung auf Maven Central.
- Maven Central verlangt ziemlich viele Bedingungen, die erfüllt sein müssen. Das ist recht komplex.
- Doch man kann das auch mit Git-Hub und GitHub Packages machen.
- Folgen Sie der Anleitung Maven Modul auf GitHub publizieren (GitHub Packages)
Aufgabe Maven‑Artefakt eines Kollegen einbinden
- Nun müssen Sie in Ihr Projekt (MyApp) das Artefakt eines Kollegen einbinden und nutzen.
- Dabei müssen Sie die Schritte von der obigen Aufgabe adaptieren.
Ergebnissicherung
- Halten Sie die Ergebnisse nachvollziehbar fest.
- Abgabe als ein einzelnen PDF-Dokumentes.
- Jede Aufgabe im Dokument mit Titel und klar getrennt von den anderen Aufgaben.
- In der Ergebnissicherung muss klar ersichtlich sein
- Dass Sie eine eigenes Modul in ein eigenes Projekt eingebunden haben.
- Screenshot der Ihrer eigenen Java-Dateien, Modul und Hauptprogramm (inkl. import und Header)
- Screenshot Ihrer eigenen pom.xml Datei
- Output des Hauptprogrammes
- dass Sie Ihre eigene Biblothek veröffentlich haben
- kurze Anleitung und Screenshot der Veröffentlichung
- dass Sie ein Artefakt eines Lernpartners eingebunden haben.
- Kurze Beschreibung des Artefakts (Zweck, API‑Schnittstellen).
- Screenshot von Ihrem Hauptprogramm, der das Einbinden zeigt.(inkl. import und Header)
- Screenshot Ihrer eigenen pom.xml Datei.
Nützliche Hinweise & Links
- Git Submodules: https://git-scm.com/book/en/v2/Git-Tools-Submodules
- Maven Central / Suche: https://mvnrepository.com/
- Baeldung Artikel (Maven Artifact): https://www.baeldung.com/maven-artifact
- Baeldung Artikel (Local Repository): https://www.baeldung.com/maven-local-repository