2012-12-07 35 views
5

मेरा मेवेन 3.0.3 बिल्ड में -Xmx1G और -XX:MaxPermSize=500M जेनकींस में सेट है। हालांकि, जब मैं एक तैनाती करते हैं, मैं हमेशा मिलता तैनात करने के लिएमेरी आर्टिफैक्ट मेवेन द्वारा तैनात होने के लिए बड़ी लगती है। मैं क्या कर सकता हूँ?

java.lang.OutOfMemoryError: Java heap space 
    at java.util.Arrays.copyOf(Arrays.java:2786) 
    at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94) 
    at sun.net.www.http.PosterOutputStream.write(PosterOutputStream.java:61) 
    at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:492) 
    at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:457) 
    at org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:411) 
    at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:392) 
    at org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:365) 
    at org.apache.maven.wagon.StreamWagon.put(StreamWagon.java:163) 
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:825) 
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.java:465) 
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:278) 
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:215) 
    at org.sonatype.aether.impl.internal.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:480) 
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:137) 
    at org.apache.maven.plugin.deploy.AbstractDeployMojo.deploy(AbstractDeployMojo.java:167) 
    at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:188) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 

विरूपण साक्ष्य 283M बड़ा है। इसे सही ढंग से तैनात करने के लिए मैं क्या कर सकता हूं?

+0

मेवेन का कौन सा संस्करण? – bmargulies

+1

आपका आर्टिफैक्ट कितना बड़ा है? – dunni

+0

@ डुनि '283 एम' बड़ा। – Riduidel

उत्तर

2

यह समस्या this bug के कारण है। जैसा कि लिंक में सुझाया गया है, बस तैनाती के लिए वेबडैव का उपयोग करें।

निम्न कार्य पर विचार करें:

<project> 
    [...] 
    <build> 
    <extensions> 
     <extension> 
     <groupId>org.apache.maven.wagon</groupId> 
     <artifactId>wagon-webdav</artifactId> 
     <version>1.0</version> 
     </extension> 
    </extensions> 
    </plugin> 
    </build> 
    ... 
    <distributionManagement> 
    <site> 
     <id>sample-project.website</id> 
     <url>dav:https://dav.sample.com/sites/sample-project</url> 
    </site> 
    </distributionManagement> 
    ... 
</project> 

मैंने पहले इस समस्या को मिला है। मेरा मानना ​​है कि यह केवल = 256 एमबी के आकार के साथ कलाकृतियों के साथ होता है।

वेबडैव परिनियोजन विधि पर स्विच करने के बाद, आप अपनी मेमोरी सेटिंग्स को भी कम कर सकते हैं। (यदि आपने तैनाती के दौरान स्मृति समस्या के कारण उन्हें विशेष रूप से संशोधित किया है)।

+1

यदि आप 3.0.4 –

+1

का उपयोग कर रहे हैं तो इस तकनीक की आवश्यकता नहीं है, लेकिन पता है कि वह 3.0.3 का उपयोग कर रहा है। – carlspring

1

यह जवाब बस इतना कहना है कि @olamy सही था: मेवेन 3.0.4 में अपग्रेड करने से उस मुद्दे को हल किया गया।

+0

या @carlspring - वह बग से जुड़ा हुआ है, इस मुद्दे को समझाया और वर्कअराउंड प्रदान किया। – eis

+0

@ क्या मैं कार्ल्सप्रिंग उत्तर कारण स्वीकार करता हूं, ठीक है, मैं अपने सहयोगियों से अपने मैवेन को माइग्रेट करने के लिए कह सकता हूं, लेकिन मैं ऐसा करने के लिए पूरे इंटरवेज से नहीं पूछ सकता :-) – Riduidel

+0

मेरा मानना ​​है कि यह वास्तव में ब्रेट पोर्टर था जिसने इंगित किया कि यह तय किया गया था 3.0.4 में, जिसे मैं खुद नहीं जानता था। किसी भी तरह, मदद करने के लिए खुश! :) – carlspring

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

  • कोई संबंधित समस्या नहीं^_^