Указание параметра памяти Maven без установки переменной окружения MAVEN_OPTS

Мне было интересно, можно ли указать границы памяти Maven с синтаксисом, подобным:

mvn -Dtest=FooTest -DXmx=512M clean test

Я пробовал пару вариантов до сих пор, безуспешно.
Я знаю переменную среды MAVEN_OPTS, но я бы хотел этого избежать.

В связи с указанным выше вопросом было бы неплохо узнать, есть ли возможность указать поведение памяти плагина surefire аналогичным образом, чтобы он вилки jvm с использованием переопределенного количество памяти (в конечном счете, переопределение параметра <argLine> в конфигурации плагина pom, если присутствует)

Ответ 1

Вы можете настроить плагин surefire для использования большего объема памяти. Взгляните на Ошибка Strange Maven из памяти.

Обновление: Если вы хотите установить параметр из командной строки, посмотрите на {{mvn.bat}} (или {{mvn}} shell script) в каталоге установки maven. Он использует дополнительные параметры, указанные в командной строке.

Следующая возможность - установить верный плагин и использовать свойства, указанные в командной строке, например. mvn ... -Dram=512

и

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <forkMode>once</forkMode>
        <argLine>-Xms${ram}m -Xmx${ram}m</argLine>
    </configuration>
</plugin>

Ответ 2

Чтобы указать максимальную память (не через MAVEN_OPTS, как изначально запрошено), вы можете сделать следующее:

mvn clean install -DargLine="-Xmx1524m"