यदि आप अचूक (या विफल) 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>
अद्यतन (5/31/2017): इसे इंगित करने के लिए @johnstosh को धन्यवाद - जब से मैंने इस उत्तर को बाहर रखा है, तब से निश्चितता थोड़ी विकसित हो गई है। यहाँ उनके प्रलेखन और एक अद्यतन कोड नमूना (इस सवाल के लिए arg लाइन अभी भी महत्वपूर्ण हिस्सा है) का लिंक दिया गया है :
<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>