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

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

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

1、设置Java编译器

如上图所示,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),应用即可。

如下图所示:

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


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

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


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

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

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

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

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

1、Proceed on errors

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

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

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

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

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

2、增量编译

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

3、并行编译

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

结论

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


Intellij IDEA设置忽略部分类编译错误的更多相关文章

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

    转自:https://www.aliyun.com/jiaocheng/290360.html 有些时候我们的项目中有些错误,但这些错误并不影响项目的整体运行(或许是没有使用到),默认情况下idea是 ...

  2. IntelliJ IDEA 设置忽略SVN文件和文件夹

       IntelliJ IDEA 在提交文件至SVN时,可以设置忽略某些文件和文件夹,以免误提交不需要提交的文件.最后,插个题外话,介绍一下如何设置代码默认折叠或者展开.下面使用IntelliJ ID ...

  3. Maven打包编译错误工作区间设置编码格式gbk可以utf-8不可以

    转自:https://blog.csdn.net/wolf_love666/article/details/52593483 问题:Maven打包编译错误工作区间设置编码格式gbk可以utf-8不可以 ...

  4. IntelliJ IDEA 左侧列表设置忽略文件格式

    什么问题 idea 中设置忽略文件 Unity开发过程中使用Lua做逻辑开发 Unity会自动生成xx.meta文件 这种文件再使用Idea开发过程中没有用处 显示文件列表中会看着比较乱 如何设置 F ...

  5. IntelliJ IDEA设置JVM运行参数

    2015十一月 28 原 IntelliJ IDEA设置JVM运行参数 分类:JavaSE (11566) (1) 打开 IDEA 安装目录,看到有一个 bin 目录,其中有两个 vmoptions ...

  6. 【C#小知识】C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 分类: C# 2014-02-03 01:24 1576人阅读 评论(0) 收藏

    目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 继上篇对一些C#概念问题进行细节的剖析以后,收获颇多.以前,读书的时候,一句话一掠而 ...

  7. SVN Git 设置忽略目录 大全

    eclipse中SVN设置 用svn控制版本,svn本身是不会识别哪些该传,哪些不该传,这就导致有些关于路径的东西(比如拓展jar的路径)也被上传了,而当别人下载后,那个路径对于这个人可能完全不存在, ...

  8. 如何在 MSBuild Target(Exec)中报告编译错误和编译警告

    编译错误和编译警告 MSBuild 的 Exec 自带有错误和警告的标准格式,按照此格式输出,将被识别为编译错误和编译警告. 而格式只是简简单单的 error: 开头或者 warning: 开头.冒号 ...

  9. error LNK2005:"private:__thiscall编译错误

    对于这种编译错误,网上给出了很多解决办法,大部分都是忽略特定库,或者改变多线程调试DLL,但是均没有效果. 这里记录下自己的解决方法,首先按照下图,取消从父级或项目默认设置继承,避免与其他库中的定义冲 ...

随机推荐

  1. leyou_03_cors解决ajax的跨域请求问题

    1.为什么会有跨域问题 因为跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是与当前页域名相同的路径,这能有效的阻止跨站攻击. 因此:跨域问题 是针对ajax的一种限制 ...

  2. Maven实战04_使用Archetype生成项目骨架

    在上一章中的HelloWorld中,我们的项目遵循了一些Maven项目的约定 在项目的根目录中放置pom.xml 在src/main/java目录中放置项目的主代码 在src/test/java目录中 ...

  3. spring-注解配置-junit整合测试-aop

    1 使用注解配置spring 1.1 步骤 导包4+2+spring-aop 1.为主配置文件引入新的命名空间(约束) 2.开启使用注解代理配置文件 3.在类中使用注解完成配置 1.2 将对象注册到容 ...

  4. 外网如何访问vmware虚拟机的web服务(转载)

    目的: 主机上安装了VMware,VMware上安装了Linux虚拟机(我安装的是Centos7).我想让虚拟机向外提供Web服务.本文记录如何让我的主机和外网用户可以访问VM虚拟机上的Web. 网络 ...

  5. Mybatis insert返回主键ID

    Mybatis insert语句书写 <insert id="insertSelective" useGeneratedKeys="true" keyPr ...

  6. WPF:数据绑定--PropertyChangeNotification属性更改通知

      PropertyChangeNotification属性更改通知 实现效果:1.拍卖金额自动随属性值变化而通知界面绑定的值变化. 关键词 : INotifyPropertyChanged Obse ...

  7. C# WPF 仿QQ靠近屏幕上方自动缩起功能实现

    碰到了类似需求,但是上网查了一圈发现感觉要么很复杂,要么代码很臃肿,索性自己实现了一个 几乎和QQ是一模一样的效果,而且核心代码只有20行左右. 代码如下: using System; using S ...

  8. el表达式 jsp页面取list的长度

    方法1 ${cimlistForJsp.size()} 方法2,引入 <%@ taglib prefix="fn" uri="http://java.sun.com ...

  9. 【模板】 递归线段树 [2017年五月计划 清北学堂51精英班Day4]

    P3372 [模板]线段树 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别 ...

  10. LUOGU P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm

    传送门 解题思路 记忆化搜索,如果搜到环,就将环的大小处理出来. 代码 #include<iostream> #include<cstdio> #include<cstr ...