Ho un progetto maven gerarchico, dal quale sto cercando di creare un programma di installazione nativo per diversi sottomoduli. Sto usando il mio nome prodotto come prefisso: <finalName>xyz-${artifactId}</finalName>
nel POM padre in modo che tutti i miei oggetti artefatti abbiano una convenzione di denominazione standard.L'assembly Maven ignora finalName per gli artefatti dipendenti
xyz-parent
+-- util
+--- target/xyz-util.jar
+-- core
+--- target/xyz-core.jar
+-- app1 <--- "builds an installer as part of the package phase"
+--- target/xyz-app1.jar
+-- app2 <--- "builds an installer as part of the package phase"
...
Ho bisogno di materializzare tutti i barattoli dipendenti in una directory (in quanto inno setup non sa nulla di Maven). Quindi, per ogni modulo, che è un programma di installazione ho intenzione di usare Maven-assemblaggio-plugin, quindi usare qualcosa di simile a quanto segue nel mio Inno Setup:
Source: "target\pkg\lib\*.jar"; DestDir: "{app}\external"; Flags: ignoreversion;
Quando eseguo mvn clean package
, ottengo una directory target/xyz-app1-bin/xyz-app1/lib
con tutte le vasetti dipendenti, ma nessuno dei vasi prodotti dai miei progetti fratelli hanno i loro nomi finali corretti (ad esempio, ho util-0.0.1-SNAPSHOT.jar
invece di xyz-util.jar
)
Questo problema sembra simile a this post, ma non ho idea di che cosa "allegare" è (forse deprecato).