2012-09-07 6 views
19

Vorrei trovare i valori di tutte le proprietà Maven come si applicano ad alcuni progetti Maven.
mvn help:system elenca le variabili di ambiente del sistema operativo e le proprietà del sistema JVM, ma non le proprietà Maven.
mvn help:evaluate funziona solo in modalità interattiva, ciò significa che devo digitare una singola proprietà Maven (ad esempio ${project.build.outputDirectory}) per ottenere il valore di tale proprietà.Maven: panoramica dei valori delle proprietà Maven

Sto cercando un modo per ottenere un elenco completo di tutte le proprietà Maven e dei relativi valori.

+1

Forse [questo] (http://stackoverflow.com/q/4532687/367285) domande e risposte sono utili. – FrVaBe

risposta

30

Per risolvere il problema, aggiungere questo alla sezione <plugins> ... </plugins> all'interno del pom.xml progetto:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
    <execution> 
     <phase>validate</phase> 
     <goals> 
     <goal>run</goal> 
     </goals> 
     <configuration> 
     <tasks> 
      <echoproperties /> 
     </tasks> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

Ora eseguire mvn validate.
Sulla console, con prefisso [echoproperties], verrà visualizzato l'elenco completo delle proprietà di sistema, incluse quelle impostate da Maven come project.build.outputDirectory, basedir e settings.localRepository.

+3

Bella idea, ma non elenca tutte le proprietà, per esempio non elenca '$ {project.build.scriptSourceDirectory}' – Zarathustra

+0

Bel tentativo, ma eccone un altro che non rileva: 'session.executionRootDirectory'. – ingyhere

1

Non so come ottenerli "ufficialmente", ma ecco una soluzione. Aggiungi maven-antrun-plugin al tuo progetto ed esegui mvn test -X. Il plugin mostrerà tutte le proprietà passate da Maven. L'elenco mi sembra completo.

+0

Quindi ho seguito il tuo suggerimento, ma non ha funzionato; aggiunto maven-antrun-plugin nel pom.xml come indicato in [la sua documentazione] (http://docs.codehaus.org/display/MAVENUSER/Antrun+Plugin), quindi ho eseguito 'mvn test -X'. Non sono riuscito a trovare proprietà specifiche di Maven. Yegor, la tua lista include la proprietà Maven 'project.build.outputDirectory'? – Abdull

0

Aveva lo stesso problema. Modificato il timeout e il maxheap nella configurazione di findbug tramite Maven.

Il sotto fisso per me:

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>findbugs-maven-plugin</artifactId> 
      <version>3.0.2</version> 
      <configuration> 
       <maxHeap>2048</maxHeap> 
       <timeout>1800000</timeout> 
      </configuration> 
     </plugin> 
0

realtà project.build.outputDirectory c'è, ma è necessario eseguire in fase di 'compilazione', e NON in 'validate'. Immagino che le proprietà siano disponibili dipende anche dalla fase corrente per l'obiettivo di esecuzione di un particolare plug-in, in questo caso 'maven-antrun-plugin'.

  <!-- Ant Run Plugin for debugging pom.xml and calling ant tasks --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>${ant.plugin.version}</version> 
      <executions> 
       <execution> 
        <phase>compile</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <tasks> 
          <echoproperties/> 
         </tasks> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin>