2016-07-07 107 views
0

我有一個遺留項目,我需要34分鐘才能編譯Maven。但是當我用我的IDE(在這種情況下是IntelliJ)打開它時,改變一下並運行它只需要幾秒鐘的時間來編譯。這是如何發生的? IDE是否執行差分編譯?如果是這樣,我可以做一些類似Maven的事情嗎?IDE如何快速編譯?

+1

您的IDE可能不是重新編譯整個項目,而只是改變了的類。 – khelwood

+0

@Matt我覺得這裏有什麼問題,但我是Maven的新手,所以不知道如何減少編譯時間。指針是讚賞。 – Johnny

回答

4

是的IDE只編譯更改後的代碼。他們也有自定義編譯器(例如eclipse中的ecj),它們不需要編譯整個文件。

通常一個maven運行不僅包含彙編。在我大部分時間處理的項目中都用於測試,還有一些額外的用於創建/捆綁工件。

爲了告訴maven不要運行測試,可以添加-DskipTests命令行選項。另一種選擇是從命令行中刪除「clean」,因此只有已更改的文件纔會被編譯。

請記住:在提交源代碼控制之前,您應該始終使用乾淨且激活的測試運行maven。