2012-09-07 15 views
19

Me gustaría conocer los valores de todas las propiedades de Maven de, ya que se aplican a algún proyecto de Maven.
mvn help:system enumera las variables de entorno del sistema operativo y las propiedades del sistema JVM, pero no las propiedades Maven.
mvn help:evaluate solo funciona en modo interactivo, lo que significa que tengo que escribir una sola propiedad de Maven, (por ejemplo, ${project.build.outputDirectory}) para obtener el valor de esa propiedad.Maven: Resumen de los valores de las propiedades de Maven

Estoy buscando un modo de obtener una lista completa de todas las propiedades de Maven y sus valores.

+1

Tal vez [this] (http://stackoverflow.com/q/4532687/367285) preguntas y respuestas relacionadas son útiles. – FrVaBe

Respuesta

30

Como solución, añadir esto a la sección <plugins> ... </plugins> dentro de su proyecto pom.xml:

<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> 

Ahora ejecutar mvn validate.
En la consola, con el prefijo [echoproperties], aparecerá la lista completa de las propiedades del sistema, incluidas las establecidas por Maven como project.build.outputDirectory, basedir y settings.localRepository.

+3

Buena idea, pero no enumera todas las propiedades, por ejemplo, no muestra '$ {project.build.scriptSourceDirectory}' – Zarathustra

+0

Buen intento, pero aquí hay otra que no recoge: 'session.executionRootDirectory'. – ingyhere

1

No sé cómo conseguirlos "oficialmente", pero aquí hay una solución. Agregue maven-antrun-plugin a su proyecto y ejecute mvn test -X. El complemento mostrará todas las propiedades que Maven le haya transmitido. La lista me parece completa.

+0

Así que seguí tu sugerencia, pero no funcionó; agregó maven-antrun-plugin en el pom.xml como se señala en [su documentación] (http://docs.codehaus.org/display/MAVENUSER/Antrun+Plugin), luego ejecuté 'mvn test -X'. No pude encontrar ninguna propiedad específica de Maven. Yegor, ¿su lista incluye la propiedad 'project.build.outputDirectory' de Maven? – Abdull

0

Tenía el mismo problema. Se modificó el tiempo de espera y maxheap en la configuración de findbugs a través de maven.

La continuación fijo por mí:

 <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

En realidad project.build.outputDirectory está ahí pero hay que ejecutar en 'compilar' fase y no en 'validar'. Supongo que las propiedades disponibles también dependen de la fase actual para el objetivo de ejecución de un complemento en particular, en este 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> 
Cuestiones relacionadas