Compile、Make和Build的區別
針對Java的開發工具,通常都有Compile、Make和Build三個菜單項,完成的功能的都差很少,可是又有區別。
編譯,是將源代碼轉換爲可執行代碼的過程。編譯須要指定源文件和編譯輸出的文件路徑(輸出目錄)。Java的編譯會將java編譯爲class文件,將非java的文件(通常成爲資源文件、好比圖片、xml、txt、poperties等文件)原封不動的複製到編譯輸出目錄,並保持源文件夾的目錄層次關係。
在Java的集成開發環境中,好比Eclipse、IDEA中,有經常有三種與編譯相關的選項Compile、Make、Build三個選項。這三個選項最基本的功能都是完成編譯過程。但又有很大的區別,區別以下:
一、Compile:只編譯選定的目標,無論以前是否已經編譯過。
二、Make:編譯選定的目標,可是Make只編譯上次編譯變化過的文件,減小重複勞動,節省時間。(具體怎麼檢查未變化,這個就不用考慮了,IDE本身內部會搞定這些的)
三、Build:是對整個工程進行完全的從新編譯,而無論是否已經編譯過。Build過程每每會生成發佈包,這個具體要看對IDE的配置了,Build在實際中應用不多,由於開發時候基本上不用,發佈生產時候通常都用ANT等工具來發布。Build由於要所有編譯,還要執行打包等額外工做,所以時間較長。