編譯方式介紹
相比較于 Eclipse 的實(shí)時自動編譯悴侵,IntelliJ IDEA 的編譯更加手動化箱叁,雖然 IntelliJ IDEA 也支持通過設(shè)置開啟實(shí)時編譯,但是不建議积蔚,因為太占資源了意鲸。IntelliJ IDEA 編譯方式除了手工點(diǎn)擊編譯按鈕進(jìn)行編譯之外,還有就是在容器[tomcat等]運(yùn)行之前配置上一個編譯事件尽爆,先編譯后運(yùn)行怎顾。默認(rèn)下 IntelliJ IDEA 也都是這樣的設(shè)置,所以實(shí)際開發(fā)中你也不用太注意編譯這件事漱贱。雖然 IntelliJ IDEA 沒有實(shí)時編譯槐雾,但是對于代碼檢查完全是沒有影響。但是多個類之間的關(guān)聯(lián)關(guān)系還是要等 Make 或 Rebuild 觸發(fā)的時候才會做相關(guān)檢查的幅狮。
在 IntelliJ IDEA 里募强,編譯方式一共有三種:
- Compile:對選定的目標(biāo)(Java 類文件)株灸,進(jìn)行強(qiáng)制性編譯,不管目標(biāo)是否是被修改過擎值。
- Rebuild:對選定的目標(biāo)(Project)慌烧,進(jìn)行強(qiáng)制性編譯,不管目標(biāo)是否是被修改過鸠儿,由于 Rebuild 的目標(biāo)只有 Project屹蚊,所以 Rebuild 每次花的時間會比較長。
- Make:使用最多的編譯操作捆交。對選定的目標(biāo)(Project 或 Module)進(jìn)行編譯,但只編譯有修改過的文件腐巢,沒有修改過的文件不會編譯品追,這樣平時開發(fā)大型項目才不會浪費(fèi)時間在編譯過程中。
- 青色方框所示冯丙,Compile 的操作有:Compile 指定類
- 黃色方框所示肉瓦,Rebuild 的操作有:Rebuild Project
- 紅色方框 所示,Make 的操作有:Make Project胃惜、Make Module
運(yùn)行之前的編譯 : IntelliJ IDEA 默認(rèn)在運(yùn)行 JUnit 之前會先進(jìn)行 Make 操作
IntelliJ IDEA 默認(rèn)在運(yùn)行 tomcat 之前會先進(jìn)行 Make 操作泞莉。
編譯器的設(shè)置和選擇
- 上圖 所示,可以添加目錄 或 文件進(jìn)行編譯排除船殉。
- 在項目中鲫趁,如果有任何一個可編譯的文件無法編譯通過,則 IntelliJ IDEA 是無法運(yùn)行起來的利虫,必須等你全部問題解決挨厚,編譯通過之后才可運(yùn)行。但是可能開發(fā)過程中糠惫,某一個包目錄的文件編譯無法通過疫剃,但是我們又不急著改,那我們就可以考慮把該包加入到排除編譯列表中硼讽,則項目就可以運(yùn)行起來巢价。
- 如上圖所示,IntelliJ IDEA 支持常見的幾種編譯器:Javac固阁、Eclipse壤躲、Ajc 等。默認(rèn)是 Javac备燃,也推薦使用 Javac柒爵。
- Project bytecode version 針對項目字節(jié)碼編譯版本,一般選擇的是當(dāng)前項目主 JDK 的版本赚爵。
- Per-module bytecode version 可以針對 Project 下各個 Module 的特殊需求單獨(dú)設(shè)置不同的 bytecode version棉胀,前提是電腦上必須有安裝對應(yīng)的 JDK 版本法瑟。【一般沒事也不動他們】