针对Java的开发工具,一般都有Compile、Make和Build三个菜单项,完成的功能的都差不多,但是又有区别。
编译,是将源代码转换为可执行代码,需指定源文件和编译输出的文件路径(输出目录)。 Java的编译会将:
- java文件编译为class文件
- 非java文件(一般为资源文件,如图片、xml、txt、poperties等)原封不动复制到编译输出目录,并保持源文件夹的目录层次关系
在Java的集成开发环境中,如IDEA,有三种与编译相关选项Compile、Make、Build,最基本功能都是完成编译过程。 但又有很大区别:
- Compile:只编译选定的目标,不管之前是否已编译过
- Make:编译选定的目标,但Make只编译上次编译变化过的文件,减少重复劳动,节省时间
- Build:对整个工程进行彻底重新编译,不管是否已编译过 Build过程往往会生成发布包,这个具体要看对IDE配置,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工作,因此时间较长。
若平时只修改了少数几个文件的话,推荐make命令,节省编译时间。