Ich verwende das Maven Appassembler Plugin, um meine Anwendung zu paketieren. Ich möchte einige Konfigurationsdateien mit der Anwendung verpacken. Ich habe das configurationDirectory
und includeConfigurationDirectoryInClasspath
Parameter, aber ich habe nicht gefunden, wie ich erstellen (und füllen) sollte das Konfigurationsverzeichnis. Ich habe versucht, die Dateien in src/main/resources
zu setzen, aber das bringt sie einfach in die JAR-Datei für mein Projekt.
Was ist der "richtige" Weg, dies zu tun, mit Maven?
Leider ist dies eine Einschränkung des Appassembler-Plugins in der aktuellen Release-Version. Normalerweise wird das Plugin in Verbindung mit dem Assembly-Plugin verwendet, um das endgültige Artefakt zu erzeugen, in das Sie den Verweis auf Ihr Konfigurationsverzeichnis aufnehmen können. Wenn Sie jedoch eine funktionale Struktur nur mit dem Appassembler-Plugin haben möchten, müssen Sie die Dateien manuell kopieren. Ein Beispiel mit dem antrun-Plugin mit einem src/main/conf
-Verzeichnis finden Sie hier: Ссылка
Wenn ich die copyConfigurationDirectory-Eigenschaft einschließe, kopiert sie die Konfigurationsdateien und bündelt sie ordnungsgemäß.
%Vor%Ich habe jedoch ein anderes Problem. Ich möchte meine Konfigurationsdateien vor dem Kopieren filtern, was mir einige Probleme bereitet.
Abgesehen davon werden die Bin-Skripte für verschiedene Plattformen nicht generiert. Das maven-assembly-plugin kann (package (s) {tar.gz, zip}) erstellen zur Verteilung. Diese werden über eine assemble.xml konfiguriert. Sie geben an, welche Dateien (mit welchen Optionen (chmod)) usw. eintreffen. Sie können auch Dateien filtern (Werte in ihnen suchen / ersetzen). usw.
Jahre später und in Version 1.10 des Plugins gibt es jetzt eine preAssembleDirectory Konfigurationsoption. Leider finde ich es nicht flexibel genug für meine Bedürfnisse, da es direkt in assembleDirectory kopiert und nicht erlaubt, einen Zielverzeichnispfad innerhalb von assemblyDirectory anzugeben.
Tags und Links configuration maven packaging appassembler