关于Intellij IDEA菜单项中Compile、Make和Build的区别

前两天试了试NetBeans,在编辑方面感觉还是不太满意,于是又换了大牛同事口中的“神器”——Intellij IDEA来试试手,果然,在做了一番“调戏”之后,“神器”确实是很不错的,尤其是在装上其插件IdeaVim之后,用起来既能做到像Vim一样高效编辑,又能结合“神器”那超神的智能提示,真的是爽极了。

但“神器”菜单项上的三个选项却让我有些困惑:Complie、Make、Build,对我来说,感觉这三个应该是一样的啊?而且实际用起来也确实感觉不出来这三者的差别。于是Google一番,有如下文章:

============本文转自http://lavasoft.blog.51cto.com/62575/436216,在此感谢原作者的成果===============

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命令,这样可以节省编译的时间。不然编译整个工程是非常耗时间的。

posted @ 2011-10-23 19:56  ini_always  阅读(41685)  评论(2编辑  收藏  举报