关于Intellij IDEA菜单项中Compile、Make和Build的区别
2015-11-09 19:26
344 查看
前两天试了试NetBeans,在编辑方面感觉还是不太满意,于是又换了大牛同事口中的“神器”——Intellij IDEA来试试手,果然,在做了一番“调戏”之后,“神器”确实是很不错的,尤其是在装上其插件IdeaVim之后,用起来既能做到像Vim一样高效编辑,又能结合“神器”那超神的智能提示,真的是爽极了。
但“神器”菜单项上的三个选项却让我有些困惑:Complie、Make、Build,对我来说,感觉这三个应该是一样的啊?而且实际用起来也确实感觉不出来这三者的差别。于是Google一番,有如下文章:
Compile、Make和Build的区别
针对Java的开发工具,一般都有Compile、Make和Build三个菜单项,完成的功能的都差不多,但是又有区别。
编译,是将源代码转换为可执行代码的过程。编译需要指定源文件和编译输出的文件路径(输出目录)。Java的编译会将java编译为class 文件,将非java的文件(一般成为资源文件、比如图片、xml、txt、poperties等文件)原封不动的复制到编译输出目录,并保持源文件夹的目 录层次关系。
在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
1、Compile:只编译选定的目标,不管之前是否已经编译过。
2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)
3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。
================================================================================
这篇文章说得比较清楚,因此,如果平时只修改了少数几个文件的话,应使用make命令,这样可以节省编译的时间。不然编译整个工程是非常耗时间的。
但“神器”菜单项上的三个选项却让我有些困惑:Complie、Make、Build,对我来说,感觉这三个应该是一样的啊?而且实际用起来也确实感觉不出来这三者的差别。于是Google一番,有如下文章:
Compile、Make和Build的区别
针对Java的开发工具,一般都有Compile、Make和Build三个菜单项,完成的功能的都差不多,但是又有区别。
编译,是将源代码转换为可执行代码的过程。编译需要指定源文件和编译输出的文件路径(输出目录)。Java的编译会将java编译为class 文件,将非java的文件(一般成为资源文件、比如图片、xml、txt、poperties等文件)原封不动的复制到编译输出目录,并保持源文件夹的目 录层次关系。
在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
1、Compile:只编译选定的目标,不管之前是否已经编译过。
2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)
3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。
================================================================================
这篇文章说得比较清楚,因此,如果平时只修改了少数几个文件的话,应使用make命令,这样可以节省编译的时间。不然编译整个工程是非常耗时间的。
相关文章推荐
- How Did Watson Answer? —— About Question Analysis
- UIView 杂记
- UI设计工具
- 【转】jmeter 进行java request测试
- 自定义UICollectionViewFlowLayout
- easyui-combobox 取值问题
- UIButton 的属性与方法
- NQueens 与 递归,回溯
- androidUI——PopWindow
- IOS UITest 初始化 ViewController
- 自定义 UIButton(图片+文字)
- 使用values文件夹dimens文件做适配的一点想法
- iOS小技巧-UINavigationItem代码设置导航栏返回按钮的字体
- GacUI源码简析(一)
- 举一反三 willDisplayCell在UICollectionView中的一些应用
- UIViewAnimationOptions类型
- JSP内置对象--request对象 (setCharacterEncoding("GBK"),getParameter(),getParameterValues(),getParameterNames(),getServletPath(),getContextPath()
- UIButton 图标与文字上下垂直对齐
- 一些有用的configue参数
- 关于 UIView 的 layoutSubviews 方法