2011-10-17 8 views

risposta

6

Il modo migliore per vedere cosa sta realmente accadendo nel tuo progetto lungo quelle linee è con mvn help:effective-pom. Non mostra solo i valori predefiniti; mostra ciò che effettivamente è secondo il tuo attuale pom.

3

Sto avendo un problema con la sopra-risposta.

Ecco un semplice pom. Utilizza un plug-in del processore di annotazione, che è associato a generate-sources per impostazione predefinita, poiché non ho specificato un valore <phase>.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.test</groupId> 
    <artifactId>test-simple</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.bsc.maven</groupId> 
       <artifactId>maven-processor-plugin</artifactId> 
       <version>2.0.5</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>process</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

mvn generate-resources effettivamente invocano il plugin ...

$ mvn install 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building test-simple 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-processor-plugin:2.0.5:process (default) @ test-simple --- 

Eppure la scansione l'uscita di mvn help:effective-pom non cede alcun indizio per il legame di questo plugin di default.

$ mvn help:effective-pom |grep generate-sources; echo $? 
1 

L'unico modo che ho trovato elencare il binding di fase predefinito è esaminare la fonte del plugin.

Problemi correlati