Können wir bestimmte Kind von einem Elternteil Pom in Maven.May mit einer Datei, die den Namen der Module enthält, um enthalten sein.Maven Erzeugt bestimmte Childs von Parent
Antwort
Sie können maven Profil verwenden, um dies zu erreichen.
<project>
...
<profiles>
<profile>
<id>build1</id>
<activation>
<property>build1</property>
</activation>
<modules>
<module>module1</module>
</modules>
</profile>
<profile>
<id>build2</id>
<activation>
<file>
<exists>test2.file</exists>
</file>
</activation>
<modules>
<module>module2</module>
<module>module3</module>
</modules>
</profile>
</profiles>
</project>
Sie können das Profil durch bestimmte Bedingungen aktivieren, z. vorhandene oder fehlende Dateien, vorhandene Eigenschaften und so weiter.
Mehr Infos über Maven Profil: http://maven.apache.org/guides/introduction/introduction-to-profiles.html
Angenommen, Ihr Root-Projekt hat drei Module: module-A
, module-B
und module-C
.
Führen Sie die folgenden Befehle aus Ihrem Stammprojekt aus.
- Wenn Sie
module-C
bauen wollen, laufen:mvn clean install –pl module-C
- Bei
module-C
aufmodule-A
abhängig ist, laufen:mvn clean install –pl module-C –am
module-A
undmodule-C
zu bauen Wenn Sie in Stammverzeichnis Ihres Projekts Sie kann das einfach auf der Befehlszeile von Maven wie folgt definieren:
mvn -pl ModuleYouWouldLikeToBuild package
Auszug aus der Hilfe-Befehlszeile:
-pl,--projects <arg> Comma-delimited list of specified
reactor projects to build instead
of all projects. A project can be
specified by [groupId]:artifactId
or by its relative path.
Wenn dieses Modul, was Sie bauen wie von einem anderen Modul verwendet wird, können Sie entscheiden, Maven zu lassen analysieren, welche ein und bauen, dass je Modul auch mit:
mvn -pl Module --also-make-dependents
oder kurze Version:
mvn -pl Module -amd
Wenn Sie Module, die von dem Modul verwendet werden Sie zu bauen ausgelöst Sie ca n auch hinzufügen:
mvn -pl Module --also-make
oder kurze Version:
mvn -pl Module -am
Verwenden Sie niemals Profile für mit/ohne Module besser den Befehl --projects für solche Dinge zu verwenden. – khmarbaise