1. 程式人生 > >IntelliJ IDEA 編譯方式介紹

IntelliJ IDEA 編譯方式介紹

目錄 .cn mod block 添加 -i 特殊 可能 tps

原文:https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/newMaster/make-introduce.md

編譯方式介紹

相比較於 Eclipse 的實時自動編譯,IntelliJ IDEA 的編譯更加手動化,雖然 IntelliJ IDEA 也支持通過設置開啟實時編譯,但是不建議,因為太占資源了。IntelliJ IDEA 編譯方式除了手工點擊編譯按鈕進行編譯之外,還有就是在容器運行之前配置上一個編譯事件,先編譯後運行。默認下 IntelliJ IDEA 也都是這樣的設置,所以實際開發中你也不用太註意編譯這件事。雖然 IntelliJ IDEA 沒有實時編譯,但是對於代碼檢查完全是沒有影響。但是多個類之間的關聯關系還是要等 Make 或 Rebuild 觸發的時候才會做相關檢查的。

在 IntelliJ IDEA 裏,編譯方式一共有三種:

  • Compile:對選定的目標(Java 類文件),進行強制性編譯,不管目標是否是被修改過。
  • Rebuild:對選定的目標(Project),進行強制性編譯,不管目標是否是被修改過,由於 Rebuild 的目標只有 Project,所以 Rebuild 每次花的時間會比較長。
  • Make:使用最多的編譯操作。對選定的目標(Project 或 Module)進行編譯,但只編譯有修改過的文件,沒有修改過的文件不會編譯,這樣平時開發大型項目才不會浪費時間在編譯過程中。

編譯觸發按鈕

技術分享

  • 如上圖標註 1 所示,Compile 的操作有:Compile
    指定類
  • 如上圖標註 1 所示,Rebuild 的操作有:Rebuild Project
  • 如上圖標註 1 所示,Make 的操作有:Make ProjectMake Module

運行之前的編譯

技術分享

  • 如上圖所示,IntelliJ IDEA 默認在運行 JUnit 之前會先進行 Make 操作。

技術分享

  • 如上圖所示,IntelliJ IDEA 默認在運行 tomcat 之前會先進行 Make 操作。

編譯器的設置和選擇

技術分享

  • 上圖標註 1 所示,也是我們本文前面講的,IntelliJ IDEA 是支持自動編譯的,默認是不開啟的,也建議不用開啟,原因前面已經說了。
  • 上圖標註 2 所示,設置編譯 heap
    大小,默認是 700,建議使用 64 位的用戶,在內存足夠的情況下,建議改為 1500或以上。如果你在編譯的時候出錯,報:OutOfMemoryError,一般也是要來改這個地方。
  • 上圖標註 3 所示,還可以設置編譯時的 VM 參數,這個你可以根據需求進行設置,一般人是用不上的。

技術分享

  • 如上圖標註 1 所示,可以添加目錄 或 文件進行編譯排除。
  • 在項目中,如果有任何一個可編譯的文件無法編譯通過,則 IntelliJ IDEA 是無法運行起來的,必須等你全部問題解決,編譯通過之後才可運行。但是可能開發過程中,某一個包目錄的文件編譯無法通過,但是我們又不急著改,那我們就可以考慮把該包加入到排除編譯列表中,則項目就可以運行起來。

技術分享

  • 如上圖動態 Gif 所示,IntelliJ IDEA 支持常見的幾種編譯器:JavacEclipseAjc 等。默認是 Javac,也推薦使用 Javac
  • Project bytecode version 針對項目字節碼編譯版本,一般選擇的是當前項目主 JDK 的版本。
  • Per-module bytecode version 可以針對 Project 下各個 Module 的特殊需求單獨設置不同的 bytecode version,前提是電腦上必須有安裝對應的 JDK 版本。

IntelliJ IDEA 編譯方式介紹