Ich glaube nicht, dass es gibt, noch würde ich denken, dass es eine gute Idee ist.
Aus meinem Verständnis, was Sie erreichen wollen, ist eine Commons-ähnliche Komponente, die für mehrere Mojos verwendet wird. Dies erfordert, dass die aktuelle Maven-Sitzung in & übergeben wird, die verwendet wird, um anschließend einen Wert zurückzugeben.
Der Weg Maven funktioniert jedoch, ist, dass es Ziele von Plugins in einer fast containerartigen Umgebung ausführt. Jedes Plugin darf innerhalb einer bestimmten Maven Phase, wie durch die <executions />
definiert, handeln. Dies erlaubt Maven, die Komplexität des Erstellens, Testens, Überprüfens, Einsetzens usw. zu trennen. Rufen Sie mvn clean install
auf, es sei denn, ich bin ein Fehler, ist zwei separate Ausführungen, eine clean
build lifecycle, gefolgt von der install
.
Es ist daher nicht sicher anzunehmen, dass die und die nachfolgende MavenExecutionRequest
dieselbe Instanz darstellen, die in einem vorherigen Aufruf verwendet wurde. clean
ist ein separater Aufruf, dessen Logik in einer neuen Sitzung nicht beibehalten werden soll.
Also, was ich sage, im Wesentlichen ist, dass eine gemeinsame Plexus Komponente während ist eine gute Praxis, vor allem Konsistenz in Ihrem Mojos zu halten, es ist richtig, Praxis (fast ioc), die entsprechende Sitzung jedes Mal zur Verfügung zu stellen .
Ich hoffe, das ist die Antwort, die Sie suchen. Ziemlich lang, aber um zu verstehen, warum Sie die Sitzung bereitstellen müssen, denken Sie Maven
.
Ich weiß, die Frage ist ziemlich alt. Thomas, möchtest du die identische Session über mehrere Phasen "wiederverwenden" oder brauchst du nur einen Hinweis auf die aktuelle MavenSession der Phase? –
Hmm .. wenn es da wäre, dann wäre es sicher nicht mehr threadsicher. – eckes