Je voudrais connaître les valeurs des propriétés all Maven telles qu'elles s'appliquent à certains projets Maven.mvn help:system
répertorie les variables d'environnement du système d'exploitation et les propriétés du système JVM, mais aucune propriété Maven.mvn help:evaluate
ne fonctionne qu'en mode interactif, cela signifie que je dois taper une seule propriété Maven (par exemple ${project.build.outputDirectory}
) pour obtenir la valeur de cette propriété.
Je cherche un moyen d'obtenir une liste complète de toutes les propriétés Maven et de leurs valeurs.
Pour contourner ce problème, ajoutez ceci au <plugins> ... </plugins>
section à l'intérieur de votre projet 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>
Maintenant, exécutez mvn validate
.
Sur la console, précédé de [echoproperties]
, il y aura la liste complète des propriétés du système, y compris celles définies par Maven telles que project.build.outputDirectory
, basedir
et settings.localRepository
.
Je ne sais pas si cela aide, mais j'ai trouvé cela en essayant de faire la même chose:
mvn com.github.ekryd.echo-maven-plugin:echo-maven-plugin:echo -Decho.message='${project.build.testOutputDirectory}'
De ici
Je ne sais pas comment les obtenir "officiellement", mais voici une solution de contournement. Ajouter maven-antrun-plugin
à votre projet et exécutez mvn test -X
. Le plugin affichera toutes les propriétés qui lui sont transmises par Maven. La liste me semble complète.
En fait, project.build.outputDirectory est là mais vous devez l'exécuter en phase de "compilation", et NON en "valider". Je suppose que les propriétés disponibles dépendent également de la phase actuelle pour l'objectif d'exécution d'un plug-in particulier, dans ce cas "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>