我有一个Java文件,当我编译时,在java编译器(javac)退出后,我将只能在控制台上看到前100个错误。我怎样才能在控制台上看到所有编译错误? 先谢谢 - opensid
答案 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操作系统,请尝试使用命令提示符编译源代码。然后该命令提示符不会在错误时退出。