Maven: обзор значений свойств Maven
Я хотел бы узнать значения всех свойств Maven, поскольку они применимы к некоторому проекту Maven.
mvn help:system
перечислены переменные среды ОС и свойства системы JVM, но нет свойств Maven.
mvn help:evaluate
работает только в интерактивном режиме, это означает, что я должен ввести одно свойство Maven (например, ${project.build.outputDirectory}
), чтобы получить значение этого свойства.
Я ищу способ получить полный список всех свойств Maven и их значений.
Ответы
Ответ 1
Как обходной путь, добавьте это в раздел <plugins> ... </plugins>
внутри вашего проекта 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>
Теперь выполните mvn validate
.
На консоли с префиксом [echoproperties]
будет представлен полный список системных свойств, включая те, которые установлены Maven, такие как project.build.outputDirectory
, basedir
и settings.localRepository
.
Ответ 2
Я не знаю, как получить их "официально", но вот обходной путь. Добавьте maven-antrun-plugin
в свой проект и запустите mvn test -X
. Плагин покажет все свойства, переданные ему от Maven. Список выглядит полным для меня.
Ответ 3
На самом деле project.build.outputDirectory есть, но вам нужно выполнить в фазе "компиляция", а НЕ в "проверке". Я предполагаю, какие свойства доступны, также зависит от текущей фазы для выполнения цели конкретного плагина, в данном случае "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>
Ответ 4
Не уверен, что помогает, но я нашел это, пытаясь сделать то же самое:
mvn com.github.ekryd.echo-maven-plugin:echo-maven-plugin:echo -Decho.message='${project.build.testOutputDirectory}'
Отсюда
Ответ 5
Была та же проблема. Изменен таймаут и maxheap в конфигурации findbugs через maven.
Ниже указано это для меня:
<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>