java - Maven 构建中的 "java.lang.OutOfMemoryError: PermGen space"

标签 java maven out-of-memory permgen

我在构建 Maven 项目时遇到了这个错误,我增加了 MAVEN_OPTS 但还是一样,我发现了一些类似的帖子,但它们指的是别的东西。我该如何解决这个问题?

The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at org.codehaus.plexus.compiler.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:56)
        at com.sun.tools.javac.comp.Annotate.<init>(Annotate.java:52)
        at com.sun.tools.javac.comp.Annotate.instance(Annotate.java:36)
        at com.sun.tools.javac.jvm.ClassReader.<init>(ClassReader.java:215)
        at com.sun.tools.javac.jvm.ClassReader.instance(ClassReader.java:168)
        at com.sun.tools.javac.main.JavaCompiler.<init>(JavaCompiler.java:293)
        at com.sun.tools.javac.main.JavaCompiler.instance(JavaCompiler.java:72)
        at com.sun.tools.javac.main.Main.compile(Main.java:340)
        at com.sun.tools.javac.main.Main.compile(Main.java:279)
        at com.sun.tools.javac.main.Main.compile(Main.java:270)
        at com.sun.tools.javac.Main.compile(Main.java:87)
        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)
        at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.java:420)
        at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:141)
        at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:493)
        at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)

我并不担心如何修复它在 maven 生态系统中

最佳答案

当你说你增加了MAVEN_OPTS,你增加了什么值?是否增加了MaxPermSize,例如:

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

(或在 Windows 上:)

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

您还可以指定这些 JVM 选项 in each maven project separately .

关于java - Maven 构建中的 "java.lang.OutOfMemoryError: PermGen space",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3101128/

相关文章:

Android Bitmap.createScaledBitmap 在 Jelly Bean 4.1 上抛出 java.lang.OutOfMemoryError moSTLy

java - 用字符串分割字节数组?

java - XML 中是否有等效于 setColorFilter() 的方法?

maven - 如何使用fabric8-maven-plugin标记图像?

java - 如何配置 mvn/Jrebel/wtp/gwt/eclipse 以便随着服务接口(interface)的变化顺利工作

php - Laravel 单元测试内存耗尽

java - 使用 Eclipse MAT 无法找到由 Array Object 创建的内存泄漏

Linux 上低磁盘空间条件下的 Java 属性文件

java - 程序运行时执行语句/代码

java - 未添加 maven 程序集传递依赖项