2012-08-13 15 views
25

मैं tomcat7-Maven-प्लगइन का उपयोग कर Maven से सीधे एक एम्बेडेड tomcat7 उदाहरण शुरू करना चाहते हैं। यह ठीक काम कर रहा है, लेकिन टॉमकैट शुरू होने में पर्याप्त स्मृति नहीं लगती है। मुझे संदेह है कि मुझेtomcat7 maven प्लगइन की याददाश्त बढ़ाएं?

-XX:MaxPermSize=256m 

सेट करने की आवश्यकता होगी, लेकिन मैं यह नहीं समझ सकता कि इसे कैसे किया जाए।

प्रलेखन एक प्लगइन का "विन्यास" खंड में तत्व "systemProperties" का उपयोग करना चाहिए कहते हैं। हालांकि, विकल्प XML तत्वों के रूप में निर्दिष्ट कर रहे हैं और इस तरह से देखने की जरूरत होगी:

<configuration> 
    <systemProperties> 
    <XX:MaxPermSize>256m</XX:MaxPermSize> 
    </systemProperties> 
</configuration> 

लेकिन वह निश्चित रूप से संभव के रूप में यह एक्सएमएल टूट जाता है (XX एक नाम स्थान के रूप में व्याख्या की है) नहीं है।

बेशक मैं वातावरण चर

MAVEN_OPTS=-XX:MaxPermSize=256m 

की स्थापना करके इस समस्या को हल मिल सकता है, लेकिन मैं केवल एम्बेडेड बिलाव के लिए बढ़ाने की पसंद करेंगे। कोई विचार यह कैसे करना है?

उत्तर

2

आप इस तरह से

<configuration> 
    <systemProperties> 
    <JAVA_OPTS>-Xms256m -Xmx512m -XX:MaxPermSize=256m</JAVA_OPTS> 
    </systemProperties> 
</configuration> 
+2

बहुत शांत है, भले ही सब :-) – Sebi

+11

पर दर्ज नहीं किया यह वास्तव में सब पर मेरे लिए काम नहीं किया था, और मैं वास्तव में यह करने के लिए नहीं उम्मीद करेंगे। जावा प्रक्रिया पहले ही शुरू हो चुकी है और ऐसा लगता है कि [भले ही आप कांटा हो, आपको अभी भी एक नई जावा प्रक्रिया नहीं मिलती है] (http://mojo.10943.n7.nabble.com/How-to-set-user- समय क्षेत्र के भीतर बिल्ला-Maven-प्लगइन-td36517.html)। तो मुझे लगता है कि आपको मेवेन शुरू करने से पहले अधिकतम ढेर आकार निर्धारित करना होगा। जब मैं टैग का उपयोग करने के लिए 256 पर्म आकार निर्धारित करने की कोशिश की, मैं अनुप्रयोग शुरू करने के बाद एक jstat -gccapacity Maven-पीआईडी ​​किया और देखा कि मेरी अधिकतम पर्म पीढ़ी अभी भी सिर्फ 82 केबी – rzrelyea

+18

pom.xml को यह जोड़ने नहीं था जाएगा काम, यह बहुत देर हो चुकी है। आप इस तरह के मानकों को चलाने में, JVM के लिए सीधे पारित करने के लिए है -> भागो विन्यास ...-> JRE टैब -> वीएम तर्क। आप देख सकते हैं क्या (सरल प्रोफाइलर अपने ओरेकल JDK के साथ एम्बेडेड) VisualVM के साथ चल रहा है। –

13

में गुण सेट कर सकते हैं के रूप में सबसे कहा pom.xml में गुण ऊपर टिप्पणी में कोई effct है। क्या मेरे लिए काम किया मेरी MAVEN_OPTS

MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m" 

या एक cmd टर्मिनल में विंडोज पर स्थापित करने गया था:

set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=256m 

Mac/Linux उपयोगकर्ताओं के लिए, बस अपने ~/.profile (या इसी तरह के एक निर्यात बयान जोड़ने फ़ाइल का नाम)। उदाहरण के लिए:

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m" 

और अपना खोल पुनरारंभ करें।

+0

सेट करके मेरी समस्या हल की है बेशक मेरे उत्तर में वर्णित मैवेन प्रॉपर्टी मेवेन प्रक्रिया के लिए स्मृति को बदल नहीं रही है , लेकिन मैवेन द्वारा शुरू की गई टोमकैट प्रक्रिया के लिए। मूल पोस्टर ने यही पूछा: tomcat7 maven प्लगइन की स्मृति कैसे बढ़ाएं! – Sebi

+2

समस्या यह है कि आपका समाधान _Sebi_ * * प्रारंभ नहीं किया गया है * टॉमकैट प्रक्रिया की स्मृति को बदलकर _rzrelyea_ पहले से ऊपर बताई गई है, बिल्कुल अलग टोमकैट प्रक्रिया शुरू नहीं हुई है। –

+0

सावधान रहें यदि आप "फोर्किंग" निश्चित परीक्षण परीक्षण धावक का उपयोग कर रहे हैं, तो यह MAVEN_OPTS का सम्मान नहीं कर सकता ... http: //stackoverflow.com/questions/4066424/java-lang-outofmemoryerror-java-heap-space-in- मेवेन – rogerdpack

0

यह एक मेरे लिए काम किया:

<plugin> 
    <groupId>org.codehaus.cargo</groupId> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <version>...</version> 
    <configuration> 
     <container>...</container> 
     <configuration> 
      <type>standalone</type> 
      <home>...</home> 
      <properties> 
       <cargo.jvmargs>-Xmx4096m</cargo.jvmargs> 
      </properties> 
     </configuration> 
     <deployables>...</deployables> 
    </configuration> 
</plugin> 

यह तर्क "-Xmx4096m" के साथ एक नया JVM में मेरी tomcat8 शुरू होता है।

+0

में समर्थन हटा दिया गया था यह बहुत अच्छा है सिवाय इसके कि यह tomcat7 प्लगइन के लिए कॉन्फ़िगर नहीं है जो कार्गो प्लगइन के लिए कॉन्फ़िगर है। –

संबंधित मुद्दे