Java编译错误限制为100

时间:2010-06-25 04:27:34

标签: java javac

我有一个Java文件,当我编译时,在java编译器(javac)退出后,我将只能在控制台上看到前100个错误。我怎样才能在控制台上看到所有编译错误? 先谢谢 - opensid

8 个答案:

答案 0 :(得分:32)

通常编译器会在100次错误后放弃。此点之后的大多数错误可能是由第一个错误之一引起的。如果您有更多错误,请查看javac选项-Xmaxerrs-Xmaxwarns

答案 1 :(得分:14)

如果你正在使用gradle:

allprojects {
  gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xmaxerrs" << "1000"
    }
  }
}

答案 2 :(得分:5)

您是否尝试过-Xmaxerrors命令行选项?转here并搜索“maxerrors”

答案 3 :(得分:2)

如果您正在使用Eclipse,Preferences > Java > Compiler > Building > General将允许您指定每个单元的更多问题。

答案 4 :(得分:1)

编译文件时,Java编译器会在出现一定数量的错误后放弃,因为Java是一种在发生错误后难以将源重新同步到预期状态的语言之一。这意味着一个错位的分号可以产生几十个错误(或者在某些极端边缘情况下更多 - 方式更多)与实际错误几乎没有任何关系。在源代码中打印出“所有错误”是没有意义的,因为大多数错误都可能是幻像错误。

修复您可以在编译器输出中找到的前几个明确,可理解的错误,然后重试。 (不要忘记在源代码的其余部分查找这些错误的变体!)每次编译运行时获取更多错误消息可能无济于事,而实际上只会让人感到困惑和沮丧。

答案 5 :(得分:1)

如果您使用 ant ,请务必使用

<compilerarg value="-Xmaxerrs"/>
<compilerarg value="5"/>

而不是

<compilerarg value="-Xmaxerrs 5"/>

我总是忘记。

答案 6 :(得分:1)

如果您使用的是 ant ,则以下内容将起作用:

<compilerarg line="-Xmaxerrs 10000" />

请注意,您正在使用“line”参数而不是“value”参数,如上面的答案https://stackoverflow.com/a/42396745/2200690

答案 7 :(得分:0)

如果您使用的是Windows操作系统,请尝试使用命令提示符编译源代码。然后该命令提示符不会在错误时退出。