Ich möchte einige Phasen optional sagen, wenn Kompilierung fehlschlägt oder Test fehlschlägt und andere Phasen wie Checkstyle, Findbugs abzuschließen. Kann ich das in Maven tun, ich habe es in Ameise nicht sicher gemacht, wie man in Maven gehtMaven machen Phase konditional
Antwort
Sie werden wahrscheinlich Ihr eigenes kleines Plugin für Maven schreiben müssen, um damit umzugehen. Sie können diesen Thread sehen: http://www.mail-archive.com/[email protected]/msg95552.html
Maven hat keine Mittel zum dynamischen Hinzufügen oder Entfernen von Zielen oder Lebenszyklusphasen. Ja, Sie könnten wahrscheinlich Funktionalität wie diese erreichen, indem Sie ein Plugin schreiben und den Mechanismus <extension>
verwenden, aber Sie würden die Standardkonventionen brechen.
Aber alle Plugins, die Sie darüber reden, haben Parameter, die Sie nicht die Build nicht festlegen:
compiler:compile
hat die failOnError Parametersurefire:test
hat die testFailureIgnore Parameterfindbugs:check
die failOnError Parameter hat
checkstyle:check
hat den failsOnError Parameter
Mein Vorschlag wäre, ein Profil zu haben, wo Sie Konfigurationen mit all diesen Parametern hinzufügen, so dass Sie alle mit einem einzigen Befehl umschalten können.
Maven ermutigen Sie, mit "Ziel-zu-Phase-Zuweisungen" statt expliziter Anweisungen darüber, wann was ausgeführt wird, zu spielen. Maven lifecycle ist Ihre Roadmap, die Sie nicht ändern können. Und auf jedem Meilenstein (Phase) in dieser Roadmap können Sie bestimmte Operationen (Ziele) tun. Mit anderen Worten, Sie müssen Ant vergessen und anfangen, Maven zu verwenden :)
Dies scheint die eleganteste Lösung für mich zu sein, während Maven Konventionen immer noch treu bleiben. –