Intellij idea 如何提高IntelliJ IDEA上100个错误的错误限制?
我有一个IntelliJ IDEA项目,但当它遇到100多个错误时,编译就会停止,我想增加限制,以便弄清楚我需要“重构”多少古老的代码 注意:尽管可以按照这个答案的建议更改为Eclipse编译器,但没有必要解决这个特定问题。相反,您可以简单地向编译器设置中添加一个参数,该参数改变Intellij idea 如何提高IntelliJ IDEA上100个错误的错误限制?,intellij-idea,Intellij Idea,我有一个IntelliJ IDEA项目,但当它遇到100多个错误时,编译就会停止,我想增加限制,以便弄清楚我需要“重构”多少古老的代码 注意:尽管可以按照这个答案的建议更改为Eclipse编译器,但没有必要解决这个特定问题。相反,您可以简单地向编译器设置中添加一个参数,该参数改变javac编译器显示的最大错误数(如Nicolas Guillaume在本文中所述) 由于在现有项目上切换到不同的编译器或编译器版本时可能会出现一些微妙的问题,因此在进行如下所述的切换之前,请确保您了解特定情况下的后果
javac
编译器显示的最大错误数(如Nicolas Guillaume在本文中所述)
由于在现有项目上切换到不同的编译器或编译器版本时可能会出现一些微妙的问题,因此在进行如下所述的切换之前,请确保您了解特定情况下的后果
IntelliJ IDEA不强制执行此限制,它是特定于编译器的(在本例中,javac
编译器的错误限制为100个)
要解决此问题,您可以在
设置|编译器|Java编译器中切换到另一个编译器。Eclipse编译器应该能够显示更多错误。您看到的100个错误限制本身不是IntelliJ IDEA的限制,而是用于编译应用程序的javac
编译器的默认值。在想法被使用之后。默认错误数after是标准Sun/Oraclejavac
编译器的默认值,但可以通过向编译器传递参数进行修改;警告的最大数量也是如此,默认值也为100
javac的在线文档(例如,Java SE第7版第页)给出了以下参数(在“选项”一节的“非标准选项”子标题下):
-Xmaxerrs number
Set the maximum number of errors to print.
-Xmaxwarns number
Set the maximum number of warnings to print.
allprojects {
repositories {
jcenter()
}
// Allow 400 errors.
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xmaxerrs" << "400"
}
}
}
-Xmaxerrs数
设置要打印的最大错误数。
-xmax警告号
设置要打印的最大警告数。
在IntelliJ IDEA中使用javac
时,可以通过导航到项目的设置(例如F̲ile>Set̲tings
或Ctrl+Alt+S)来添加这些(和其他)编译器参数;然后,在项目设置
标题下,展开▼ 编译器
部分,选择Java编译器
,并在其他命令行参数后的文本框中输入所需设置:
。(例如,要将限制增加到123个错误和456个警告,请在文本框中输入-Xmaxerrs 123-Xmaxwarns 456
)
†自2014年7月31日起检索,由WebSite®存档,网址为
——《shelleybutterfly》第13版和《Nicolas Guillaume》第12版对该流程进行了审查,但其他版本的流程可能非常相似,如果不相同的话。如果您使用的是Gradle(可能是因为您使用的是Android),请更改项目的所有项目位build.Gradle
(不是模块一)如下所示:
-Xmaxerrs number
Set the maximum number of errors to print.
-Xmaxwarns number
Set the maximum number of warnings to print.
allprojects {
repositories {
jcenter()
}
// Allow 400 errors.
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xmaxerrs" << "400"
}
}
}
所有项目{
存储库{
jcenter()
}
//允许400个错误。
gradle.项目评估{
tasks.withType(JavaCompile){
options.compilerArgs这是javac
硬编码限制,您可以尝试在Settings
|compiler
中切换到Eclipse编译器。您似乎正确地认为这是由于编译器造成的,但Nicolas传递-Xmaxerrors参数的解决方案有效(至少在我的情况下,无需更改编译器)我在答案的顶部添加了一条注释,并附上了Nicolas Guillaume的链接,因为这样一个错误的答案,带有权威性,可能会导致人们做一些可能导致许多难以解决的问题的事情,特别是在团队环境中。我认为应该给出警告,即使这个答案是正确的,因为它很容易解决可能(事实上,确实如此)成为与问题相关的搜索的最佳结果,在随后的搜索中会引起不必要的头痛。我觉得在给出这样激烈的答案时,我们欠可能没有经验的人一点额外的注意,所以……我给出了答案。❤是否在X后面加了空格?如果附加命令行参数
文本框似乎不起作用。您可能需要检查覆盖每个模块的编译器参数
部分下面的字段,以确保模块没有被其他内容覆盖。