2009-03-13 12 views
3

Um das Maven-Invoker-Plugin mit demselben Ziel aufzurufen, das gerade in meinem Uber-Pom läuft, brauche ich eine Möglichkeit, das aktuelle Ziel in die Konfiguration des Invoker-Plugins zu überführen.Gibt es in Maven eine Variable, die das aktuelle Ziel hat?

Somethig wie org.apache.maven.plugins Maven-Aufrufer-Plugin ... $ {maven.gaol} ...

+0

Haben Sie es geschafft, eine Antwort auf Ihre Frage zu finden, suche ich genau das gleiche? –

Antwort

1

Die Maven Help plugin könnten Sie get where you want to go helfen. Die Variable $ {reactorProjects} enthält, was Sie suchen, aber vielleicht nicht genau in dem Format, in dem Sie es wiederverwenden möchten.

Sie können all the expressions Verfügung, um Sie über anzuzeigen:

mvn help:expressions 

und dann können Sie test one of them without the tedium of a pom via evaluation:

mvn help:evaluate 

, die Sie auf eine Aufforderung führt Sie können Ausdrücke versuchen.

Wenn ich die Hilfe benutzen bewerten und Typ $ {reactorProjects}, werde ich eine Menge ausgegeben, aber ein Teil davon enthält die Daten, die Sie sind nach:

<plugins> 
    <plugin> 
    <inheritanceApplied>true</inheritanceApplied> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-help-plugin</artifactId> 
    <version>2.1</version> 
    <extensions>false</extensions> 
    <dependencies/> 
    </plugin> 
</plugins> 
<pluginMap class="linked-hash-map"> 
    <entry> 
    <string>org.apache.maven.plugins:maven-help-plugin</string> 
    <plugin reference="../../../plugins/plugin"/> 
    </entry> 
</pluginMap> 
0

ich die folgende Abhängigkeit hinzugefügt :

<dependency> 
    <groupId>org.apache.maven</groupId> 
    <artifactId>maven-core</artifactId> 
    <version>3.0.3</version> 
</dependency> 

Und dann in meiner MOJO:

import org.apache.maven.execution.MavenExecutionRequest; 
import org.apache.maven.execution.MavenSession; 
... 
@Parameter(defaultValue = "${session}", readonly = true) 
private MavenSession session; 

Schließlich konnte ich die aktuellen Ziele erreichen:

MavenExecutionRequest executionRequest = session.getRequest(); 
List<String> goals = executionRequest.getGoals();