Konfiguration Maven-Shade-Plugin / build-helper-maven-plugin /
Auf dem Feature Branch https://git.fitko.de/fit-connect/sdk-java/-/tree/feature/490-cmd-line-runner/client mit dem Log: https://git.fitko.de/fit-connect/sdk-java/-/jobs/26183/raw
In dem Setup wird ein maven-shade-plugin Verwendet, dass im Build einige WARNING's erzeugt.
Verschiedene Plugins werden in einem Module mit hart kodierten Versionsnummern aufgenommen (maven-jar-plugin, build-helper-maven-plugin, maven-shade-plugin). Die Verwendung des build-helper-maven-plugin ist meiner Meinung nach hier fehl am Platze, hier einfach eine zusätzliche Datei (sdk.conf
) ergänzt wird. Wenn die Datei Teil des JAR's sein soll, dann sollte diese auch unter src/main/resources
abgelegt werden. Damit wird die Datei automatisch in das dazugehörige JAR verpackt. (Convention over Configuration).
Für die Erzeugung eines Executable JAR's muss die Main Klasse im Maven Shade Plugin angegeben werden inkl. eines ManifestResourcTransformer (Beispile: https://github.com/khmarbaise/jacem/blob/main/cralinkr/cli/pom.xml). Die Konfiguration in maven-jar-plugin für den classpath scheint hier nicht sinnvoll zu sein.
Die Konfiguration bzw. die Angabe des maven-compiler-pugins mit hart kodierten Angaben zu source/target wurde schon in root angegeben. Somit ist die zusätzliche Angabe hier überflüssige bzw. kann später sogar zu fehlern führen.
Alle Verwendeten Plugins sollten in einem Parent (global über fit) oder zumindest im root des Multi Module Builds festgelegt werden.