Подтвердить что ты не робот

Maven: обзор значений свойств Maven

Я хотел бы узнать значения всех свойств Maven, поскольку они применимы к некоторому проекту Maven.
mvn help:system перечислены переменные среды ОС и свойства системы JVM, но нет свойств Maven.
mvn help:evaluate работает только в интерактивном режиме, это означает, что я должен ввести одно свойство Maven (например, ${project.build.outputDirectory}), чтобы получить значение этого свойства.

Я ищу способ получить полный список всех свойств Maven и их значений.

4b9b3361

Ответ 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>