Указание параметра памяти Maven без установки переменной среды MAVEN_OPTS - PullRequest
17 голосов
/ 23 сентября 2011

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

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

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

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

Ответы [ 3 ]

51 голосов
/ 25 мая 2015

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

mvn clean install -DargLine="-Xmx1524m"
10 голосов
/ 23 сентября 2011

Вы можете настроить плагин surefire, чтобы использовать больше памяти. Посмотрите на Странный Maven из-за ошибки памяти .

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

Следующая возможность - установить плагин surefire и использовать свойства, указанные в командной строке, например, 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 голосов
/ 20 сентября 2017

Начиная с Maven 3.3.1, значение по умолчанию также может быть указано в ${maven.projectBasedir}/.mvn/jvm.config

Здесь задокументировано: https://maven.apache.org/docs/3.3.1/release-notes.html#JVM_and_Command_Line_Options

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...