Якщо під час надійного (або безпечного) тестування JUnit у вас закінчується куча місця, зміна MAVEN_OPTS може вам не допомогти. Я продовжував пробувати різні конфігурації в MAVEN_OPTS, не маючи удачі, поки не знайшов цю публікацію, яка вирішила проблему.
В основному JUnits розгалужується у своєму власному середовищі і ігнорує налаштування в MAVEN_OPTS. Вам потрібно налаштувати надійний вогонь у вашому пом, щоб додати більше пам'яті для JUnits.
Сподіваємось, це може врятувати когось іншого!
Редагувати: Копіювання рішення з блогу Кіта Чепмена на випадок, якщо посилання перерветься якийсь день:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>pertest</forkMode>
<argLine>-Xms256m -Xmx512m</argLine>
<testFailureIgnore>false</testFailureIgnore>
<skip>false</skip>
<includes>
<include>**/*IntegrationTestSuite.java</include>
</includes>
</configuration>
</plugin>
Оновлення (31.05.2017): Дякую @johnstosh за те, що це вказав - вірна технологія дещо змінилася з тих пір, як я виклав цю відповідь. Ось посилання на їх документацію та оновлений зразок коду (рядок аргументу все ще є важливою частиною цього питання):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<forkCount>3</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
<systemPropertyVariables>
<databaseSchema>MY_TEST_SCHEMA_${surefire.forkNumber}</databaseSchema>
</systemPropertyVariables>
<workingDirectory>FORK_DIRECTORY_${surefire.forkNumber}</workingDirectory>
</configuration>
</plugin>