2016-06-30 19 views
5

Vorrei convincere Maven a "continuare da dove era stato interrotto". Per prima cosa faccio un mvn package per creare il pacchetto. In un secondo momento, potrei voler continuare il ciclo di vita per eseguire il test di integrazione ecc. Facendo un mvn install. In questo caso, preferirei che Maven non ricomincia dall'inizio del ciclo di vita, ma che riprenda effettivamente la prima fase dopo lo package (ovvero pre-integration-test). È possibile iniziare il ciclo di vita in una fase diversa dalla prima?Posso riprendere un ciclo di vita di Maven da una fase arbritraria?

+1

Non penso che tu possa farlo. [Vedi anche questa mail] (http://maven.40175.n5.nabble.com/Execute-only-a-specific-phase-td103134.html). – Tunaki

+0

so che mvn install do: "validate", "compile", "package" e "verify" prima di fare "install", quindi, in realtà non so se è possibile che sovrascrivi questo, perché sovrascrivi questa impostazione dovrebbe essere l'unico modo – RudiDudi

risposta

2

AFAIK, non esiste una funzionalità integrata che supporti questo. È possibile, tuttavia eseguire le seguenti operazioni:

sovrascrivere tutti i binding obiettivo fino a (esclusa) alla fase di partenza previsto che vengono da:

  • default-bindings.xml
  • <build>/<plugins>/<plugin> sezioni della corrente e di tutti i POM genitore (verificare con mvn help:effective-pom)

in un profile come:

<profiles> 
    <profile> 
     <id>resume-at-pre-int-test</id> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>com.soebes.maven.plugins</groupId> 
        <artifactId>maven-echo-plugin</artifactId> 
        <version>0.1</version> 
        <executions> 
         <execution> 
          <id>skip-process-resources</id> 
          <phase>process-resources</phase> 
          <goals> 
           <goal>echo</goal> 
          </goals> 
         </execution> 
        </executions> 
        <configuration> 
         <echos> 
          <echo>Default plugin:goal binding for process-resources phase overridden</echo> 
         </echos> 
        </configuration> 
       </plugin> 

       <plugin> 
        ... 
       </plugin> 

       ... 

      </plugins> 
     </build> 
    </profile> 
</profiles> 

Attivarlo con mvn install -P resume-at-pre-int-test.

+0

Posso anche solo annullare gli obiettivi? – Rinke

+0

@Rinke Non che io sappia. –

+0

@Rinke Solo un'idea: secondo [questa risposta] (http://stackoverflow.com/a/30953905/1744774) puoi provare a modificare '/lib/maven-core-xyzjar/META -INF/plexus/default-bindings.xml' di conseguenza, ma non l'ho ancora provato. –

Problemi correlati