Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 如何找到有关mvn的更多信息;尝试执行外部编译器时出现未知错误_Maven_Compiler Errors - Fatal编程技术网

Maven 如何找到有关mvn的更多信息;尝试执行外部编译器时出现未知错误

Maven 如何找到有关mvn的更多信息;尝试执行外部编译器时出现未知错误,maven,compiler-errors,Maven,Compiler Errors,如何调查尝试执行外部编译器时出现的mvn未知错误? 根据编译器插件源代码,在这种情况下,javac返回非零,但mvn无法提取错误信息(唉,在这种情况下,mvn似乎吃了javac错误代码)-。我知道Mvn在解析Java7输出时遇到问题,我尝试手动运行java,但无法重现错误 我正在使用mvn303、编译器插件2.5.1和Java1.707 mvn clean compile-X-失败并出现错误 复制粘贴mvn失败/bin/sh for javac调用-sh+javac完成,无错误代码 如果你对

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

我正在使用mvn303、编译器插件2.5.1和Java1.707

  • mvn clean compile-X-失败并出现错误
  • 复制粘贴mvn失败/bin/sh for 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.javaccompiler40139584447402875119arguments-J-Xmx512m [错误]->[帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:未能执行目标org.apache.maven.plugins:maven编译器插件:2.3.2:在项目内存上编译(默认编译):编译时发生致命错误 位于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时失败,导致错误代码,但没有错误信息(至少插件无法理解)

仅供参考,我认为我们可以对Java编译器代码进行改进。目前,没有消息的故障会生成一般错误语句。然而,我们有一个返回代码,可以将其添加到文本中,以便在遇到这种情况时提供更多的面包屑

        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 ) );
                    }
                }

你能展示pom的适当部分吗?谢谢。原来是资源问题阻碍了JVM fork和javac调用