확실한 (또는 비상 안전) JUnit 테스트 실행 중에 힙 공간이 부족한 경우 MAVEN_OPTS를 변경해도 도움이되지 않을 수 있습니다. 문제를 해결 한이 게시물 을 찾을 때까지 나는 운없이 MAVEN_OPTS에서 다른 구성을 계속 시도했습니다 .
기본적으로 JUnits는 자체 환경으로 분기하고 MAVEN_OPTS의 설정을 무시합니다. JUnits에 더 많은 메모리를 추가하려면 pom에서 surefire를 구성해야합니다.
바라건대 이것은 다른 누군가의 시간을 절약 할 수 있습니다!
편집 : 링크가 언젠가 끊어 질 경우를 대비하여 Keith Chapman의 블로그 에서 솔루션 복사 :
<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>
업데이트 ( 2017 년 5 월 31 일 ) : 이 점을 지적 해 주신 @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>