17

我有一个 IntelliJ IDEA 项目,但是当它遇到超过 100 个错误时编译会停止,我想增加限制,以便弄清楚我需要多少“重构”古老的代码。

4

3 回答 3

35

您看到的 100 个错误限制本身并不是 IntelliJ IDEA 的限制javac而是用于编译应用程序的编译器的默认设置。IDEA使用后。默认错误数,after 是标准 Sun/Oraclejavac编译器的默认值,但可以通过将参数传递给编译器来修改;警告的最大数量也是如此,它也默认为 100。

javac 的在线文档(例如,'javac - Java 编程语言编译器' †</sup>处的 Java SE 版本 7 页面)提供了这些参数(在“选项”部分的“非标准选项”子标题下“) 如下:

-Xmaxerrs号码
     设置要打印的最大错误数。

-Xmax警告号码
     设置要打印的最大警告数。

javacIntelliJ IDEA ‡</sup> 中使用时,这些(和其他)编译器参数可以通过导航到项目的设置(例如F̲ile > Set̲tingsCtrl++ Alt)来添加S;然后,在Project Settings标题下,展开该▼ Compiler部分,选择Java Compiler所需的设置并将其输入到后面的文本框中Additional command line parameters:。(例如,要将限制增加到 123 个错误和 456 个警告,-Xmaxerrs 123 -Xmaxwarns 456请输入文本框。)

 †</sup> 来自http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html,检索于 2014-07-31,由 WebCite® 在http://www 存档。 webcitation.org/6RTlsAI8T

 ‡</sup> 这个过程在版本 13 上由 shelleybutterfly 审查,版本 12 由 Nicolas Guillaume 审查,但对于其他版本,这个过程可能非常相似,如果不相同的话。

于 2013-07-23T00:36:08.890 回答
18

如果您使用的是 Gradle(可能是因为您使用的是 Android),请按如下方式更改allprojects项目的位build.gradle(不是模块一):

allprojects {
    repositories {
        jcenter()
    }

    // Allow 400 errors.
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xmaxerrs" << "400"
        }
    }
}
于 2015-08-09T14:26:04.353 回答
4

注意:尽管可以按照此答案的建议更改为 Eclipse 编译器,但没有必要解决此特定问题。相反,您可以简单地向编译器设置添加一个参数,以更改编译器显示的最大错误数javac(如Nicolas Guillaume对问题的此替代答案中所述)。

由于在现有项目上切换到不同的编译器或编译器版本时可能会出现微妙的问题,因此在进行如下所述的切换之前,请确保您了解特定情况下的后果。

IntelliJ IDEA 不强制执行此限制,它是特定于编译器的(在这种情况下,javac编译器的错误限制为 100 个)。

Settings要解决此问题,您可以在|中切换到另一个编译器。Compiler| Java Compiler. Eclipse 编译器应该能够显示更多错误。

于 2012-08-01T18:57:11.307 回答