IntelliJ IDEA 编译方式介绍

本文详细介绍了IntelliJ IDEA中的三种编译方式:Compile、Rebuild和Make,并解释了它们的区别及应用场景。此外,还介绍了如何配置编译触发事件、编译器设置与选择等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译方式介绍

相比较于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也支持通过设置开启实时编译,但是不建议,因为太占资源了。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还有就是在容器运行之前配置上一个编译事件,先编译后运行。默认下 IntelliJ IDEA 也都是这样的设置,所以实际开发中你也不用太注意编译这件事。虽然 IntelliJ IDEA 没有实时编译,但是对于代码检查完全是没有影响。但是多个类之间的关联关系还是要等 Make 或 Rebuild 触发的时候才会做相关检查的。

在 IntelliJ IDEA 里,编译方式一共有三种:

  • Compile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
  • Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。
  • Make:使用最多的编译操作。对选定的目标(Project 或 Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中。

编译触发按钮

  • 如上图标注 1 所示,Compile 的操作有:Compile 指定类
  • 如上图标注 1 所示,Rebuild 的操作有:Rebuild Project
  • 如上图标注 1 所示,Make 的操作有:Make ProjectMake Module

运行之前的编译

  • 如上图所示,IntelliJ IDEA 默认在运行 JUnit 之前会先进行 Make 操作。

  • 如上图所示,IntelliJ IDEA 默认在运行 tomcat 之前会先进行 Make 操作。

编译器的设置和选择

  • 上图标注 1 所示,也是我们本文前面讲的,IntelliJ IDEA 是支持自动编译的,默认是不开启的,也建议不用开启,原因前面已经说了。
  • 上图标注 2 所示,设置编译 heap 大小,默认是 700,建议使用 64 位的用户,在内存足够的情况下,建议改为 1500 或以上。如果你在编译的时候出错,报:OutOfMemoryError,一般也是要来改这个地方。
  • 上图标注 3 所示,还可以设置编译时的 VM 参数,这个你可以根据需求进行设置,一般人是用不上的。

  • 如上图标注 1 所示,可以添加目录 或 文件进行编译排除。
  • 在项目中,如果有任何一个可编译的文件无法编译通过,则 IntelliJ IDEA 是无法运行起来的,必须等你全部问题解决,编译通过之后才可运行。但是可能开发过程中,某一个包目录的文件编译无法通过,但是我们又不急着改,那我们就可以考虑把该包加入到排除编译列表中,则项目就可以运行起来。

  • 如上图动态 Gif 所示,IntelliJ IDEA 支持常见的几种编译器:JavacEclipseAjc 等。默认是 Javac,也推荐使用 Javac
  • Project bytecode version 针对项目字节码编译版本,一般选择的是当前项目主 JDK 的版本。
  • Per-module bytecode version 可以针对 Project 下各个 Module 的特殊需求单独设置不同的 bytecode version,前提是电脑上必须有安装对应的 JDK 版本。
### 如何在 IntelliJ IDEA编译 Kotlin 项目 #### 创建新项目 为了开始一个新的 Kotlin 项目,通过 `File -> New Project` 菜单选项来启动向导。选择 Kotlin 并指定目标平台为 JVM 后继续设置项目的细节[^2]。 #### 编写代码 一旦项目建立完成并配置好所需的依赖项之后,就可以着手编写源码了。对于初学者来说,可以从简单的 "Hello World" 应用入手。只需输入 `main` 关键字再按下 Tab 键即可让 IDE 自动生成完整的入口函数框架[^4]: ```kotlin fun main() { println("Hello, world!") } ``` #### 执行编译过程 IntelliJ IDEA 提供了几种方式来进行编译工作: - **直接运行**: 右击编辑器中的任意位置或是在左侧边栏选中特定文件/模块后,从弹出菜单里挑选 “Run” 功能; - **命令行模式**: 利用内置终端窗口执行 Gradle/Maven 命令(如果适用的话)。例如针对采用 Gradle 构建系统的工程而言,则可以通过如下指令触发构建流程: ```bash ./gradlew build ``` - **手动触发编译**: 访问顶部导航条上的“Build”标签页下的子项如 “Make Project”,这将会依据当前打开的解决方案自动定位到相应的输出目录下生成 .class 字节码文件;另外还有专门用于重新加载所有更改过的类而不重启整个应用程序的服务端热部署机制——即 HotSwap 技术的支持[^1]。 #### 输出打包产物 当希望将已完成的应用程序分发出去时,通常需要将其封装成独立可移植的形式。以 Java 和 Kotlin 程序为例,默认情况下它们会被转换为目标机器能够识别的一系列二进制数据流—也就是常说的 JAR (Java Archive) 归档包。具体操作步骤涉及到了所谓的 Artifacts 定义环节:借助于快捷键 Ctrl+Shift+Alt+S 进入全局设定面板内的 Modules 分支节点之下新增一项新的 Artifact 类型实例化对象,并按照提示逐步完善各项参数直至最终确认保存修改成果为止[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值