2016-10-23 3 views
3

Ich habe vor kurzem über --also-make Parameter erfahren, die Sie zu Maven übergeben können. Von dem, was ich verstehe, verursacht es, dass nicht nur my-project gebaut wird, sondern auch alle Projekte abhängig von meinem Projekt.Unterschied zwischen - auch machen und - auch machen-abhängige

mvn --projects my-project --also-make install 

Aber es gibt auch einen anderen Parameter namens --also-make-dependents. Von der Beschreibung her sieht es so aus, als ob es dasselbe tut wie --also-make, aber mein Freund bei der Arbeit hat mir gesagt, dass sie nicht dasselbe sind. Was ist der Unterschied?

+1

Siehe http://maven.apache.org/ref/3.3.9/maven-embedder/cli.html: '-amd': * Wenn die Projektliste angegeben ist, erstellen Sie auch Projekte, die von Projekten auf der Liste abhängig sind * – Tunaki

Antwort

6
  • --also-make baut alle Projekte, die my-project
  • --also-make-dependents auf
  • hängt baut alle Projekte, die auf abhängen my-project

Wenn Sie sich vorstellen, DAG (gerichteter azyklischer Graph) von Abhängigkeiten zwischen Projekten (wo Kante A -> B bedeutet, dass B von A abhängig ist, dann --also-make baut alle Projekte vom Projekt my-project in Richtung der "root" -Projekte und --also-make-dependents baut alle Projekte vom Projekt my-project in Richtung der "leaf" -Projekte.

Beispiel

Sagen wir Sie folgende Projekte:

dao  util 
    \ /
    services 
    | 
    webapp 

Dann

mvn --projects services --also-make

dao bauen, util und services. Und

mvn --projects services --also-make-dependents

bauen services und webapp

Verwandte Themen