gpt4 book ai didi

maven - 如何找到有关 mvn “尝试执行外部编译器的未知错误”的更多信息

转载 作者:行者123 更新时间:2023-12-02 10:45:38 25 4
gpt4 key购买 nike

如何调查 mvn 尝试执行外部编译器时出现未知错误 ?
根据编译器插件源在这种情况下 javac 返回非零但 mvn 无法提取错误信息(唉 mvn 在这种情况下似乎吃掉了 javac 错误代码)- JavacCompiler.Java .我知道 Mvn 在解析 java 7 输出时遇到问题,我尝试手动运行 java,但无法重现该错误。

我正在使用 mvn303、编译器插件 2.5.1 和 java 1.7 07。

  • mvn clean compile -X - 失败并出现错误
  • 复制粘贴 mvn 失败的/bin/sh 以进行 javac 调用 - sh+javac 完成,没有错误代码

  • 如果您对如何处理这种情况有任何想法,请告诉我。

    谢谢

    彼得

    `[错误]/bin/sh -c cd/myproj/modules/memory &&/usr/java/jdk1.7.0_07/jre/../bin/javac @/myproj/modules/memory/target/classes/org. codehaus.plexus.compiler.javac.JavacCompiler4013958444740287519参数 -J-Xmx512m -J-Xms512m
    [错误] -> [帮助 1]
    org.apache.maven.lifecycle.LifecycleExecutionException: 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project memory: fatal error 编译
    在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    ...
    ...

    org.codehaus.plexus.compiler.javac.JavacCompiler.compileOutOfProcess(JavacCompiler.java:488)
    在 org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:157)`

    最佳答案

    我们找到了问题的原因 - fork 没有内存。我们在后台有 java 进程,并将编译器插件设置为 fork。当 maven 尝试 fork 时,它失败了,导致错误代码但没有错误信息(至少没有插件可以理解)。

    仅供引用,我认为我们可以对 JavaCompiler 代码进行改进。目前,没有消息的失败会产生通用错误语句。但是,我们确实有一个 returnCode,并且可以将它添加到文本中,以便在遇到这种情况时提供更多的面包屑。

            if ( ( returnCode != 0 ) && messages.isEmpty() )
    {
    if ( err.getOutput().length() == 0 )
    {
    throw new CompilerException( "Unknown error trying to execute the external compiler: " + EOL
    + cli.toString() );
    }
    else
    {
    messages.add( new CompilerError( "Failure executing javac, but could not parse the error:" + EOL
    + err.getOutput(), true ) );
    }
    }

    关于maven - 如何找到有关 mvn “尝试执行外部编译器的未知错误”的更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12500907/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com