2009-12-17 20 views
31

मैं "एमवीएन इंस्टॉल" के साथ एक ओपन सोर्स प्रोजेक्ट संकलित कर रहा हूं लेकिन java.lang.OutOfMemoryError: Java heap space के साथ समाप्त हुआ। मैंने java -Xmx256m निष्पादित करने का प्रयास किया लेकिन आउटपुट जावा synopsis था जो संकेत दिया कि यह एक अवैध आदेश है।मैवेन फेंकता है "java.lang.OutOfMemoryError"

मैं jdk1.5.0_08 का उपयोग कर रहा हूं, यह कोई विचार क्यों हो रहा है?

धन्यवाद,

+2

यह खुला प्रश्न है;) जवाब MAVEN_OPTS = हो सकता है "- Xmx513m" आदि; - MAVEN_OPTS =) – cetnar

उत्तर

50

वातावरण चर सेट करें:

MAVEN_OPTS="-Xmx512m" 
+12

कभी कभी भी अच्छा पर्म स्मृति आकार का विस्तार करने के लिए है "- Xmx512m -XX: MaxPermSize = 256M" – cetnar

+2

स्थापना MAVEN_OPTS अकेले इकाई परीक्षण चलाने के दौरान बिल्ड विफल होने पर पर्याप्त नहीं है। ऐसे मामलों में, आपको स्पष्ट रूप से maven-surefire-plugin के "argLine" को कॉन्फ़िगर करना पड़ सकता है। –

+1

मुझे एमवीएन इंस्टॉल पर यह त्रुटि मिल रही थी, "mvn install -DMAVEN_OPTS = -Xmx1024m" का उपयोग करके मेरी समस्या हल हो गई! – Surekha

18

यह जिस पर JVM उदाहरण अधिक स्मृति की आवश्यकता होती है निर्भर करता है। उदाहरण के रूप में अगर परीक्षण (डिफ़ॉल्ट रूप से) काँटेदार रहे हैं, और विफल रहता है कारण OutOfMemoryError तो प्लगइन जो उन्हें शुरू करने के लिए कॉन्फ़िगर की कोशिश:

 <plugin> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <argLine>-Xmx1024m</argLine> 
      </configuration> 
     </plugin> 
-5

मैं एक ही समस्या पैदा हुई। this link के अनुसार यह जेवीएम कार्यान्वयन को बदलने में मदद कर सकता है - यह JAVA_HOME सिस्टम चर सेट करके किया जा सकता है।

SET JAVA_HOME=C:\bea10\jrockit160_22 
mvn install 
9

इतना ही ढेर स्मृति:

लिंक में उदाहरण के लिए

कोशिश आईबीएम JVM या ओरेकल jrockit उल्लेख किया है। मेवेन में उस अपवाद को हल करने के लिए आपको पर्यावरण आकार में इन चर का उपयोग करने के लिए भी पार आकार बढ़ाना होगा।

चर नाम: MAVEN_OPTS
चर मूल्य: -Xmx512m -XX: MaxPermSize = 256M

+0

आप 'एक्सएमएक्स' और' मैक्सपर्म साइज 'का वर्तमान मूल्य कैसे प्राप्त कर सकते हैं? आखिरकार, मैं यह जानने के बिना मूल्यों को बढ़ा नहीं सकता कि वे पहले से क्या सेट कर चुके हैं। – ArtOfWarfare

+0

मुझे मैक्सप्रर्म आकार का यकीन नहीं है, लेकिन एक्सएमएक्स आमतौर पर भौतिक स्मृति का 1/4 वां है। फिर, यह जेएमई कार्यान्वयन और/या "सर्वर", जेवीएम के "क्लाइंट" मोड के आधार पर भिन्न हो सकता है। –

+0

-bash: निर्यात: '-XX: MaxPermSize = 256m ': मान्य पहचानकर्ता नहीं – user2568374

0

वैकल्पिक रूप से set MAVEN_OPTS="-XX:MaxPermSize=256m" का उपयोग करते हुए कमांड प्रॉम्प्ट से चल रहा है।

-1

अपने मेवेन इंस्टॉल को बदलने या अपडेट करने का प्रयास करें। मुझे यह समस्या थी, लेकिन मैंने इसे मैवेन (3.0.5 से 3.3.3) अपग्रेड करके हल किया।

3

कभी-कभी, यदि आप मैवेन के अंदर अन्य कार्यक्रमों का उपयोग करते हैं, जैसे इंट्रेशन टेस्ट या निश्चित फायर में, MAVEN_OPTS पर्याप्त नहीं हैं। MAVEN_OPTS के अलावा, JAVA_TOOL_OPTIONS का उपयोग करने का प्रयास करें। यह Maven में मेरे लिए चाल किया था जब कुछ एकीकरण परीक्षण चलाने:

export JAVA_TOOL_OPTIONS="-Xmx2048m -XX:MaxPermSize=1024m -Xms2048m" 

संदर्भ: osx maven running tests Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"

0

मैं हमेशा यह मेरी खोल के साथ ubuntu पर का उपयोग करें:

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=500m" 
संबंधित मुद्दे