简体   繁体   English

java.lang.OutOfMemoryError:与Jenkins和Maven的PermGen

[英]java.lang.OutOfMemoryError: PermGen with Jenkins and Maven

I get the following exception in my Jenkins job:- 我的Jenkins工作中出现以下异常: -

java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at org.powermock.core.classloader.MockClassLoader.loadUnmockedClass(MockClassLoader.java:201)
at org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:149)
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:67)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:86)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:64)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)

...... ......

I run my Junit test cases in this job through Maven. 我通过Maven在这个工作中运行我的Junit测试用例。 As suggested by Jenkins I have a new global property MAVEN_OPTS with a value as high as -XX:MaxPermSize=1024m . 正如Jenkins所建议的,我有一个新的全局属性MAVEN_OPTS ,其值高达-XX:MaxPermSize=1024m
But still I continue to get the java.lang.OutOfMemoryError: PermGen . 但我仍然继续得到java.lang.OutOfMemoryError: PermGen

Any assistance is greatly appreciated. 非常感谢任何帮助。

Thanks Stefan for your answer. 谢谢Stefan的回答。 Unfortunately adding the default log4j classloader did not solve my issue. 不幸的是,添加默认的log4j类加载器并没有解决我的问题。 However the link provided by you solved the issue. 但是,您提供的链接解决了该问题。

I had to add the following configuration in my "maven-surefire-plugin" definition:- 我必须在我的“maven-surefire-plugin”定义中添加以下配置: -

<argLine>-XX:PermSize=512m -XX:MaxPermSize=1024m</argLine>

This has fixed my problem. 这解决了我的问题。

PowerMock has a memory leak caused by class loading stuff: https://code.google.com/p/powermock/issues/detail?id=346 PowerMock因类加载内容而导致内存泄漏: https//code.google.com/p/powermock/issues/detail? id = 346

You can use the default classloader for the log4j classes: 您可以使用log4j类的默认类加载器:

@RunWith(PowerMockRunner.class)
@PowerMockIgnore(value = {"org.apache.log4j.*"})
public class YourTest {
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.OutOfMemoryError:PermGen(GWT + NetBeans + Maven) - java.lang.OutOfMemoryError: PermGen (GWT + NetBeans + Maven) Maven“线程中的异常”http-bio-8080-exec-32“java.lang.OutOfMemoryError:PermGen space” - Maven “Exception in thread ”http-bio-8080-exec-32“ java.lang.OutOfMemoryError: PermGen space” 常量java.lang.OutOfMemoryError:PermGen空间Arquillian + Wildfly 8.1 - Constant java.lang.OutOfMemoryError: PermGen space Arquillian + Wildfly 8.1 不断获取java.lang.OutOfMemoryError:PermGen空间错误 - Keep getting java.lang.OutOfMemoryError: PermGen space error 在PowerMockito中运行Cobertura并抛出java.lang.OutOfMemoryError:PermGen空间 - Running Cobertura with PowerMockito throwing java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError:Maven 中的 Java 堆空间 - java.lang.OutOfMemoryError: Java heap space in Maven 在 Eclipse 上构建 Maven:java.lang.OutOfMemoryError:Java 堆空间 - Maven build on Eclipse: java.lang.OutOfMemoryError: Java heap space JBoss EAP 6.1上的Hotswap-agent - java.lang.OutOfMemoryError:PermGen space - Hotswap-agent on JBoss EAP 6.1 - java.lang.OutOfMemoryError: PermGen space 在Maven中使用FindSecBugs会引发java.lang.OutOfMemoryError - Using FindSecBugs in Maven throws java.lang.OutOfMemoryError 如何在JENKINS中处理线程“ main”中的“ [ERROR]异常”(主要是java.lang.OutOfMemoryError:Java堆空间)? - How to handle “[ERROR] Exception in thread ”main“ java.lang.OutOfMemoryError: Java heap space” in JENKINS?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM