有些时候我们的项目中有些错误,但这些错误并不影响项目的整体运行(或许是没有使用到),默认情况下idea是无法通过编译的,因此也就无法部署运行,要达到正确运行项目的目的需要作一些设置才行。

设置Intellij IDEA忽略部分类编译错误

设置很简单,只需要两步即可。

1、设置Java编译器

35.Intellij IDEA设置忽略部分类编译错误_增量编译

如上图所示,Ctrl+Alt+S快捷键打开“Settings”对话框,找到设置中的“Java Compiler”设置,将“User compiler”设置由“Javac”改为“Eclipse”;然后在下面的“Eclipse Options”中将“Proceed on errors”选项勾选上。

2、设置Run/Debug Configurations

接下来打开“Run/Debug Configurations”对话框,定位到你的项目启动配置(我这里是Web项目,Web Server为Tomcat7),将“Before launch”设置为“Make,no error check”(默认应该是Make),应用即可。

如下图所示:

35.Intellij IDEA设置忽略部分类编译错误_eclipse_02

通过上面两步设置,虽然在编译过程仍然有错误输出,但idea已经可以忽略掉编译过程的错误了。



下面是翻译过来的一篇博客,如果英文较好,请阅读原文。

原标题:Why you should use the Eclipse compiler in Intellij IDEA



为什么要在Intellij IDEA中使用Eclipse编译器

如果你使用Intellij Idea,你应该考虑使用Eclipse编译器来代替Javac。

你的项目所使用的编译器可在IDE的设置页面更改。

35.Intellij IDEA设置忽略部分类编译错误_ide_03

需要注意,如果你使用的是Java8,只有Intellij 14及更高版本才会有可供选择的Eclipse编译器选项。

与Javac不同的是,Eclipse编译器被设计为IDE内部优先使用的编译器,因此提供了一些特性,使它更适合开发使用:

1、Proceed on errors

项目源代码的某一部分包含编译时错误是完全有可能的,然而这时你需要快速作一些测试来检测你的另一部分代码是否工作正常。

如果使用Javac编译器,你除了在执行之前修复所有错误之外没有其它的选择。然而Eclipse编译器却可以不管这些允许你执行,其目的在于总是生成一个可运行的二进制文件;如果你的代码触及到编译时错误,Eclipse编译器会招聘一个运行时异常。

想要启用这个特性,你需要:

1、在编译器设置页面选中”Proceed on errors“

35.Intellij IDEA设置忽略部分类编译错误_eclipse_04

2、在运行配置中用“Make, no error check”替换“Make”

35.Intellij IDEA设置忽略部分类编译错误_java_05

2、增量编译

Eclipse编译器设计为运行于IDE后台,因此原生支持增量编译。这就意味着它可以只编译自上次编译以来有改动的代码块,因此编译比较快速。

3、并行编译

不像Javac编译器,Eclipse编译器可以利用CPU多核加快编译速度。

结论

显而易见,在IDE内部没有什么理由再继续使用Javac编译器,希望Jetbrains公司会在未来版本的Intellij IDEA将Eclipse编译作为默认的编译器。