• 今天maven install时碰到的两个问题(堆溢出和编译错误)


    问题1.maven install时出现,日志如下:

    系统资源不足。
    有关详细信息,请参阅以下堆栈追踪。

    java.lang.OutOfMemoryError: Java heap space
            at com.sun.tools.javac.util.List.prepend(List.java:145)
            at com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:1457)
            at com.sun.tools.javac.jvm.ClassReader.list(ClassReader.java:1742)
            at com.sun.tools.javac.jvm.ClassReader.listAll(ClassReader.java:1882)
            at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:1903)
            at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1538)
            at com.sun.tools.javac.code.Symbol.complete(Symbol.java:355)
            at com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:256)
            at com.sun.tools.javac.tree.Tree$TopLevel.accept(Tree.java:382)
            at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:221)
            at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:235)
            at com.sun.tools.javac.comp.Enter.complete(Enter.java:444)
            at com.sun.tools.javac.comp.Enter.main(Enter.java:429)
            at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:404)
            at com.sun.tools.javac.main.Main.compile(Main.java:592)
            at com.sun.tools.javac.main.Main.compile(Main.java:544)
            at com.sun.tools.javac.Main.compile(Main.java:92)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
            at java.lang.reflect.Method.invoke(Method.java:592)
            at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(Javac
            at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.
            at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMo
            at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
            at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginM
            at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defaul
            at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLife
            at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Default
            at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandl
            at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments
            at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLife
    
    
            at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMo
            at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
            at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginM
            at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defaul
            ... 17 more
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2 minutes 34 seconds
    [INFO] Finished at: Wed Jul 20 17:22:53 CST 2011
    [INFO] Final Memory: 60M/63M
    [INFO] ------------------------------------------------------------------------
    

      

    原因分析:虚拟机堆溢出,默认只有63M,工程比较多时容易出现此问题

    解决方案:在maven启动脚本(mvn.bat)中,重新设置堆大小(set MAVEN_OPTS= -Xms128m -Xmx512m)

    问题2:maven install时出现此问题,日志如下:

    [INFO] Trace
    org.apache.maven.BuildFailureException: Compilation failure
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
    ultLifecycleExecutor.java:699)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
    fecycle(DefaultLifecycleExecutor.java:540)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
    ltLifecycleExecutor.java:519)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
    dleFailures(DefaultLifecycleExecutor.java:371)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
    ts(DefaultLifecycleExecutor.java:332)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
    fecycleExecutor.java:181)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
      at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
      at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    
      at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
    Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation fail
    ure
      at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompiler
    Mojo.java:516)
      at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
      at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
    nManager.java:483)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
    ultLifecycleExecutor.java:678)
    

      

    原因分析:编译不通过,检查JDK版本

    解决方案:使用正确的JDK版本,和开发时的一致

         

  • 相关阅读:
    Linux 进程间通信(一)(经典IPC:消息队列、信号量、共享存储)
    Linux 进程间通信(一)(经典IPC:管道、FIFO)
    Linux I/O 进阶
    Linux 信号
    Linux 进程(二):进程关系及其守护进程
    转载:什么是B+树?
    转载:什么是B树?
    Redis批量删除脚本
    Java时间工具类
    JSP2.2自定义标签、EL函数
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/5539758.html
Copyright © 2020-2023  润新知