Java编程工具(12):idea中Compile、Make和Build的区别

2023-11-15

目录

1、build、rebuild和recompile

2、Compile、Make和Build的区别


1、build、rebuild和recompile

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 花的时间都比较长。

参考:IntelliJ IDEA 编译方式介绍及编译器的设置和选择_CG国斌的博客-CSDN博客_idea的编译器在哪儿

2、Compile、Make和Build的区别

  • 编译,是将源代码转换为可执行代码的过程。编译需要指定源文件和编译输出的文件路径(输出目录)
  • Java的编译会将java编译为class 文件,将非java的文件(一般成为资源文件、比如图片、xml、txt、poperties等文件)原封不动的复制到编译输出目录,并保持源文件夹的目 录层次关系

在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:

  • Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)
  • Compile:只编译选定的目标(java类文件),不管之前是否已经编译过。
  • Build:是对整个工程(Project、Module)进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java编程工具(12):idea中Compile、Make和Build的区别 的相关文章

随机推荐

  • java文档注释

    一 文档注释简介 需要编写注释的地方 包 公有类与接口 公有的和受保护的构造器及方法 公有的和受保护的域 注释应该放置在所描述特性的前面 注释以 开始 并以 结束 每个 文档注释在标记之后紧跟着自由格式文本 标记由 开始 如 author
  • OpenCV4.5.2 分水岭算法出现的 Error: Assertion failed (src_depth != CV_16F && src_depth != CV_32S) 解决方法

    在贾志刚老师关于opencv3 1 0的分水岭算法讲解中 链接为 添加链接描述 在merker和create markers代码块要是按照视频所给出代码在OpenCV 4 5 2上运行的话会出现下图这样的情况 这个错误出现在显示生成的 ma
  • Anaconda简介

    anaconda是python发行的包的管理工具 其中自带python的版本 还带很多python的包 安装它比安装python好 可以省掉再安装python包的时间 推荐使用Anaconda 用Anaconda安装python的包是非常便
  • 外设驱动库开发笔记53:MAX31856热偶变送器驱动

    在我们的产品中经常有需要温度检测的地方 而热电偶温度检测电路是我们常用的 热电偶温度检测的方法很多 有时出于简单方便的考虑我们会选择热偶温度变送器来实现 这一篇我们就来讨论使用MAX31856热电偶温度变送器实现温度的检测 1 功能概述 M
  • java模拟redisSentinel故障转移

    模拟redis出现宕机情况下redis sentinel的故障转移 1 java代码以下实现方式 倘若创建maven项目需要在pom xml中引入依赖 不是maven项目需要引入对应jar包
  • 大规模数据处理中拒绝连接错误分析处理

    1 处理的数据有几百个G 把数据处理成按照手机号计算1万多个特征 2 数据处理环境 spark 2 0 2 executor memory 40g total executor cores 120 driver memory 40g 3 报
  • spring boot 使用 com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 今天集成spring boot 2 1 1构建web应用并且集成jdbc 发现默认用的8 0 13
  • 记录一下Win10启用WSL2的流程

    个人笔记 请勿转载 参考文章如下 Using WSL2 in a Docker Linux container on Windows to run a Minecraft Java Edition Windows 10开启Linux子系统
  • win10下如何装CH340驱动

    由于win10系统对PL2303兼容性不太好 而CH340兼容性相对较好 但是 win10系统安装CH340串口驱动后 一直有黄色叹号 并且显示 由于windows无法加载这个设备所需的驱动程序 导致这个设备工作异常 这是因为win10有个
  • 自然语言处理学习笔记(一)————概论

    目录 1 自然语言处理概念 2 自然语言与编程语言的比较 1 词汇量 2 结构化 3 歧义性 4 容错性 5 易变性 6 简略性 3 自然语言处理的层次 1 层次图 2 自然语言处理系统输入源 3 词法分析 4 信息抽取 5 文本分类与文本
  • 打印出1-100的奇数 (C语言)

    代码 include
  • React Hooks —— useState异步更新队列、闭包、浅比较深入理解

    文章目录 useState 设计原理 实现原理 setXXX沿着作用域查找闭包的理解 与同步异步无关 更新多状态 方案一 类似于类组件中一样 让状态值是一个对象 包含需要的全部状态 每一次只修改其中的一个状态值 setXXX不支持类组件se
  • 前端导出excel文件

    文章目录 安装插件 下载成excel文件 主要代码分析 将文件转成文件流 用于下载 构建工作簿 用于下载 下载函数全部代码 js原生使用文件流进行下载 new Blob 封装的完整的Export2Excel js文件 参考 安装插件 imp
  • 隐式神经表示

    以图像为例 其最常见的表示方式为二维空间上的离散像素点 但是 在真实世界中 我们看到的世界可以认为是连续的 于是 可以考虑使用一个连续函数来表示图像的真实状态 然而我们无从得知这个连续函数的准确形式 因此有人提出用神经网络来逼近这个连续函数
  • 问题解决:/lib/libEGL.so.1:对‘wl_display_dispatch_queue_pending’未定义的引用

    在安装opencv2 4和编译程序的时候 经常出现的一个问题 弄了好久 最后无意间解决了 错误描述 lib libEGL so 1 对 wl display dispatch queue pending 未定义的引用 collect2 错误
  • FreeRTOS学习笔记(8)---- 软件定时器

    使用FreeRTOS软件定时器需要在文件FreeRTOSConfig h先做如下配置 1 configUSE TIMERS 使能软件定时器 2 configTIMER TASK PRIORITY 定时器任务优先级 3 configTIMER
  • PyCharm创建.py文件报错:Error parsing Velocity template: Encountered ““ as [line 5, column 1]

    使用的模板是 usr bin env python3 coding UTF 8 Date DATE TIME Author Name 解决方法 和后面的说明之间 要有空格 改为 usr bin env python3 coding UTF
  • sleep、interrupt等线程相关方法介绍

    1 sleep方法 package Thread public class Test01 Sleep public static void main String args public static native void sleep l
  • 安卓自动化测试框架

    安卓APP测试框架总结 基于Instrumentation的测试框架 比如Espresso Robotium Selendroid等 都不能支持跨APP使用 如自动化测试中有跨APP操作 我们可以结合UiAutomator实现 支持BDD
  • Java编程工具(12):idea中Compile、Make和Build的区别

    目录 1 build rebuild和recompile 2 Compile Make和Build的区别 1 build rebuild和recompile 标注 1 Build Project 编译项目 标注 2 Build Module