編譯方式介紹
相比較于 Eclipse 的實時自動編譯,IntelliJ IDEA 的編譯更加手動化,雖然 IntelliJ IDEA 也支持通過設(shè)置開啟實時編譯,但是不建議,因為太占資源了。IntelliJ IDEA 編譯方式除了手工點擊編譯按鈕進(jìn)行編譯之外,還有就是在容器[tomcat等]運行之前配置上一個編譯事件,先編譯后運行。默認(rèn)下 IntelliJ IDEA 也都是這樣的設(shè)置,所以實際開發(fā)中你也不用太注意編譯這件事。雖然 IntelliJ IDEA 沒有實時編譯,但是對于代碼檢查完全是沒有影響。但是多個類之間的關(guān)聯(lián)關(guān)系還是要等 Make 或 Rebuild 觸發(fā)的時候才會做相關(guān)檢查的。
在 IntelliJ IDEA 里,編譯方式一共有三種:
- Compile:對選定的目標(biāo)(Java 類文件),進(jìn)行強制性編譯,不管目標(biāo)是否是被修改過。
- Rebuild:對選定的目標(biāo)(Project),進(jìn)行強制性編譯,不管目標(biāo)是否是被修改過,由于 Rebuild 的目標(biāo)只有 Project,所以 Rebuild 每次花的時間會比較長。
- Make:使用最多的編譯操作。對選定的目標(biāo)(Project 或 Module)進(jìn)行編譯,但只編譯有修改過的文件,沒有修改過的文件不會編譯,這樣平時開發(fā)大型項目才不會浪費時間在編譯過程中。
- 青色方框所示,Compile 的操作有:Compile 指定類
- 黃色方框所示,Rebuild 的操作有:Rebuild Project
- 紅色方框 所示,Make 的操作有:Make Project、Make Module
運行之前的編譯 : IntelliJ IDEA 默認(rèn)在運行 JUnit 之前會先進(jìn)行 Make 操作
IntelliJ IDEA 默認(rèn)在運行 tomcat 之前會先進(jìn)行 Make 操作。
編譯器的設(shè)置和選擇
Paste_Image.png
Paste_Image.png
- 上圖 所示,可以添加目錄 或 文件進(jìn)行編譯排除。
- 在項目中,如果有任何一個可編譯的文件無法編譯通過,則 IntelliJ IDEA 是無法運行起來的,必須等你全部問題解決,編譯通過之后才可運行。但是可能開發(fā)過程中,某一個包目錄的文件編譯無法通過,但是我們又不急著改,那我們就可以考慮把該包加入到排除編譯列表中,則項目就可以運行起來。
- 如上圖所示,IntelliJ IDEA 支持常見的幾種編譯器:Javac、Eclipse、Ajc 等。默認(rèn)是 Javac,也推薦使用 Javac。
- Project bytecode version 針對項目字節(jié)碼編譯版本,一般選擇的是當(dāng)前項目主 JDK 的版本。
- Per-module bytecode version 可以針對 Project 下各個 Module 的特殊需求單獨設(shè)置不同的 bytecode version,前提是電腦上必須有安裝對應(yīng)的 JDK 版本。【一般沒事也不動他們】