前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IntelliJ IDEA 编译方式介绍及编译器的设置和选择

IntelliJ IDEA 编译方式介绍及编译器的设置和选择

作者头像
CG国斌
发布2018-01-26 14:31:11
6.1K0
发布2018-01-26 14:31:11
举报
文章被收录于专栏:维C果糖

相对于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也可以通过设置开启实时编译,但是太浪费资源了,因此不建议这样做。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还可以在“容器”运行之前配置一个编译事件,先编译后运行。在默认情况下,IntelliJ IDEA 也都是这样设置的,因此在实际开发中,咱们也不用太注意编译这件事。虽然 IntelliJ IDEA 没有实时编译(未设置时),但是这并不影响代码的自动检查。但是对于多个类之间的关联关系,还是要等BuildRebuild触发的时候才会做相关检查的。

1
1
  • 标注1:Build Project,编译项目;
  • 标注2:Build Module,编译模块;
  • 标注3:Recomplie,重新编译类文件;
  • 标注4:Rebuild Project 重新编译项目。

如上图所示,在 IntelliJ IDEA 中,编译方式有以上 3 种,分别为:

  • Build:对选定的目标(Project 或 Module)进行编译,但只编译修改过的文件,没有修改过的文件则不会进行编译。
  • Recompile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
  • Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,因此每次 Rebuild 花的时间都比较长。

接下来,咱们一起看看运行之前的编译情况:

2
2

如上图所示,IntelliJ IDEA 默认在运行项目之前先进行Build操作。

那么,咱们在一起看看 IntelliJ IDEA 编译器的设置和选择:

3
3
  • 标注1:设置自动编译项目;
  • 标注2:设置编译时heap大小;
  • 标注3:设置编译时的VM参数。

如上图所示,咱们定位到“ Build、Execution、Deployment > Complie ”页面,通过勾选 标注1 所示的Build project automatically,咱们可以设置 IntelliJ IDEA 进行自动编译;标注2 表示设置编译heap大小,默认为 700,如果使用 64 位的机器,在内存足够的情况下,可以尝试修改为 1500 或以上,此外,如果咱们在编译的时候报出OutOfMemoryError的错误,也可以来修改(减小)这个参数;标注3 表示设置编译时的虚拟机参数,这个可以根据需求进行个性化设置,一般情况下,默认就可以。

5
5

如上图所示,咱们定位到“ Build、Execution、Deployment > Compiler > Excludes ”页面,可以通过点击 标注1 所示的+-,任意添加或删减目录(或文件)进行编译排除。在编译项目的时候,如果任何一个可编译的文件没有编译通过,那么 IntelliJ IDEA 就无法运行起来,必须等全部问题解决并且编译通过之后,IntelliJ IDEA 才能运行起来。不过有可能在开发过程中,某一个包目录的文件编译无法通过,但是咱们又不急着改,这时咱们就可以考虑把该包加入到排除编译列表中,这样的话,项目就可以运行起来啦!

6
6
  • 标注1:Use compile;
  • 标注2:Project bytecode version;
  • 标注3:Per-module bytecode version.

如上图所示,咱们定位到“ Build、Execution、Deployment > Compiler > Java Compiler ”页面,标注1 所示为 IntelliJ IDEA 支持的编译器,包括 Javac、Eclipse、Ajc 等,默认是 Javac,也推荐使用 Javac;标注2 所示为针对项目字节码编译版本,一般选择的是当前项目主 JDK 的版本;标注3 表示可以针对Project下各个Module的特殊需求单独设置不同的bytecode version,当然,前提是咱们的电脑上必须事先安装对应的 JDK 版本。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档