मावेन के साथ जावा 8 प्रोजेक्ट बनाते समय:
mvn clean package
मुझे यह संदेश मिला:
Java हॉटस्पॉट (TM) 64-बिट सर्वर VM चेतावनी: अनदेखा विकल्प MaxPermSize = 128m; 8.0 में समर्थन हटा दिया गया था
इस संदेश को कैसे निकालें?
मावेन के साथ जावा 8 प्रोजेक्ट बनाते समय:
mvn clean package
मुझे यह संदेश मिला:
Java हॉटस्पॉट (TM) 64-बिट सर्वर VM चेतावनी: अनदेखा विकल्प MaxPermSize = 128m; 8.0 में समर्थन हटा दिया गया था
इस संदेश को कैसे निकालें?
जवाबों:
जेडीके 8 के लिए संगतता गाइड का कहना है कि जावा 8 में कमांड लाइन का झंडा MaxPermSize
हटा दिया गया है। कारण यह है कि स्थायी पीढ़ी को हॉटस्पॉट के ढेर से हटा दिया गया था और देशी मेमोरी में स्थानांतरित कर दिया गया था। तो इस संदेश को हटाने के लिए MAVEN_OPTS पर्यावरण उपयोगकर्ता चर को संपादित करें :
जावा 7
MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m
जावा 8
MAVEN_OPTS -Xmx512m
sudo gedit ~/.profile
, वहां जवाब से लाइन जोड़ें और फ़ाइल को सहेजें।
sudo
अपने होम फ़ोल्डर में एक फ़ाइल क्यों संपादित करेंगे ? मेरे लिए बहुत अजीब प्रथा लगती है।
JDK 8 हॉटस्पॉट JVM अब वर्ग मेटाडाटा के प्रतिनिधित्व के लिए देशी स्मृति उपयोग कर रहा है और कहा जाता है Metaspace ।
स्थायी पीढ़ी को हटा दिया गया है। PermSize
और MaxPermSize
ध्यान नहीं दिया जाता है और एक चेतावनी जारी की है कि अगर वे कमांड लाइन पर मौजूद हैं।
-XX:MaxPermSize=size
अधिकतम स्थायी पीढ़ी अंतरिक्ष आकार (बाइट्स में) सेट करता है। इस विकल्प को JDK 8 में पदावनत कर दिया गया था, और -XX:MaxMetaspaceSize
विकल्प द्वारा अधिगृहीत किया गया था।
-XX:PermSize=size
अंतरिक्ष में (बाइट्स में) स्थाई पीढ़ी को आबंटित किया जाता है जो कचरा संग्रहित हो जाता है यदि इसे पार कर लिया जाए। इस विकल्प को JDK 8 में पदावनत कर दिया गया था, और -XX:MetaspaceSize
विकल्प द्वारा अधिगृहीत किया गया था।
MaxPermGen
के साथ MaxMetaSpaceSize
है, जो भ्रामक है के बाद से अपनी भूमिका को व्यावहारिक रूप से उलट है। जावा से पहले 8 क्लास मेटाडेटा स्पेस पर्मगेन में रहता था जो कि 32 / 64MB तक सीमित था, और इसे बढ़ाने केMaxPerGen
लिए इस्तेमाल किया गया था । हालांकि, जावा 8 से शुरू होकर, PermGen कोई अधिक नहीं है और वर्ग मेटाडेटा स्थान असीमित है, इसलिए आकार वास्तव में इसे कम करने के लिए उपयोग किया जाता है । अधिक जानकारी के लिए देखें: stackoverflow.com/a/31463972/67824MaxMetaspace
JBoss EAP 6.4 में, सर्वर पर राइट क्लिक करें और VM लॉजिक के तहत लॉन्च लॉन्च खोलें, जो आपको मिलेगा
{-Dprogram.name=JBossTools: jboss-eap" -server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m}
इसे अपडेट करें
{-Dprogram.name=JBossTools: JBoss 6.4" -server -Xms512m -Xmx512m}
इससे आपकी समस्या दूर हो जाएगी।
जावा के साथ लिनक्स पर कमांड लाइन mvn (संस्करण 3.3.3) चलाते समय मुझे इसी तरह का संदेश मिला। 8. मावेन स्क्रिप्ट / $ MAVEN-HOME / bin / mvn को खोलकर, निम्नलिखित पंक्ति मिली
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
जहां डिफ़ॉल्ट रूप से $ MAVEN_PROJECTBASEDIR आपके घर निर्देशिका है। तो दो जगहों पर आप देख सकते हैं, पहले फ़ाइल $ MAVEN_PROJECTBASEDIR / .Mvn / jvm.config है अगर यह मौजूद है। दूसरी बात यह है कि संभवतया पर्यावरण चर MAVEN_OPTS की फाइलों को देखें। कैंडिडेट फाइलें हैं .bashrc, .bash_profile, .profile और उनके द्वारा शामिल की गई फाइलें जैसे / etc / profile, /etc/bash.bashrc
मैं स्थित है
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"
मेरे सिस्टम में .bashrc, इसे बदल दें
export MAVEN_OPTS="-Xmx512m"
मसला हल हो गया
अगर किसी को अभी भी इस तरह का संदेश मिलता है। यह तब होता है क्योंकि आप मावेन प्रोजेक्ट चलाते समय जेवीएम तर्क जोड़ते हैं। क्योंकि यह मावेन से संबंधित है इसलिए आप अपनी pom.xml
फ़ाइल को अपने प्रोजेक्ट पर देख सकते हैं ।
इस लाइन को ढूंढें <argLine>...</argLine>
, मेरे प्रोजेक्ट पर मेरे पास नीचे तर्क भी हैं
<argLine>-Xmx1024m -XX:MaxPermSize=512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>
आपको MaxPermSize
तर्क को प्रतिस्थापित करना चाहिए -Xms123m -Xmx123m
, क्योंकि MaxPermSize
पहले से ही अपदस्थ है और आपके जेवीएम विन्यास पर कोई प्रभाव नहीं पड़ेगा:
<argLine>-Xms512m -Xmx512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>
कृपया इस समस्या को हल करने के लिए हमने अभी JDK पथ स्थापित किया है
standalone.conf
फ़ाइल जो JBoss \ Wildfly सर्वर के बिन फ़ोल्डर में है। इसे हल करने के लिए हम निम्न चरण करते हैं:
ग्रहण उपयोगकर्ताओं के लिए ...
रन -> रन कॉन्फ़िगरेशन -> हैं -> 1.6 या 1.7 के लिए वैकल्पिक JRE सेट करें पर क्लिक करें