Ich bin ein Projekt in der folgenden Form ein tar.gz produzierenSpeeding up Maven Montage mehrerer Module
- pom.xml
- projectA
- pom.xml
- src/main/
- java
- startupScript
- projectB
- pom.xml
- src/main/
- java
- startupScript
- projectAssembly
- pom.xml
Ich möchte projectAssembly
hat, die zwei Ordner ein für projectA und eine für ProjectB enthalten würde, in Jeder Ordner würde Projektabhängigkeiten und die startupScript
Bibliothek enthalten.
Die „naive“ Art und Weise zu tun, ist assembly.xml
Datei zu jedem Projekt hinzuzufügen, eine Datei, die wie grob aussieht:
<assembly>
<formats>
<format>tar.gz</format>
</formats>
<baseDirectory>/${project.artifactId}</baseDirectory>
<fileSets>
<fileSet>
<directory>${basedir}/src/main/startupScripts</directory>
<outputDirectory>/startupScripts</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>/lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
Dann wurde in den projectAssembly
, hängt von <type>tar.gz</type>
sowohl von projectA
und projectB
, und eine Baugruppendatei hinzufügen, die in etwa sieht aus wie
<assembly>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<unpack>true</unpack>
</dependencySet>
</dependencySets>
</assembly>
Dies funktioniert aber ich brauche nicht die Zwischen tar.gz
von Projekten A
und B
, und sie zu produzieren, vor allem, wenn sie viele Abhängigkeiten haben, dauert eine lange Zeit.
Wie kann ich Maven direkt Assembly nur die tar.gz von projectAssembly
ohne verschwenden Zeiten beim Packen und Entpacken von Zwischenarchiven zu sagen?
Brauchen Sie die Abhängigkeiten in der Projekt a und b tar.gz Datei? Entfernen Sie nicht nur die dependencySets aus dem Assembly-Deskriptor. – khmarbaise
@khmarbaise aber wie würden sie in der endgültigen tar.gz erscheinen, die von 'assemblyProject' erstellt wurde? – mikebloch
Hallo zusammen! Welche Maven Version verwendest du? – Jan