簡體   English   中英

IntelliJ IDEA 社區版和 Spring 使用 Spring DevTools 重新加載緩慢

[英]IntelliJ IDEA Community Edition and Spring slow reload with Spring DevTools

我知道 IDEA CE 不支持 Spring,但我仍然可以在自動完成的良好支持下進行開發,這對我來說已經足夠了。

我遇到的問題是 IDE 需要 5 到 7 秒才能使用我在按 Ctrl + S 后所做的更改重新加載服務器。因此,我搜索了更多可以修改的選項,並嘗試了這些:

在此處輸入圖像描述

但這並不能解決問題。

雖然我知道我可以使用 VSCode,因為 Java 支持非常好,並且 Spring 的重新加載非常快,但對於 Kotlin 支持,沒有足夠好的擴展。 所以我想找到一個修復程序來減少服務器重啟的延遲,如果可能的話。 好像是故意逼你買專業版的。

您不需要使用自動編譯或 DevTools for IntelliJ IDEA Community 或 Ultimate 在 Debug 模式下熱交換類。 如果要在Ctrl + S上編譯,請將此快捷方式分配給Build | Build Project操作(設置(macOS 上的首選項)| Keymap | Main Menu | Build | Build Project,右鍵單擊,添加鍵盤快捷鍵)。

IDE 將熱交換更改的類,更改將在不到一秒的時間內在瀏覽器中可用:

重新加載

示例項目: boot-hotswap-demo.zip

腳步:

  1. 單擊調試按鈕啟動應用程序
  2. 在web瀏覽器中打開http://localhost:8080/
  3. 觀察Greetings from Spring Boot!!! output
  4. HelloController.java中的字符串更改為其他內容
  5. 構建 | 構建項目(或Ctrl + S ,如果您將其分配給此操作)
  6. 在瀏覽器中重新加載頁面,觀察不到一秒的變化,IDE 顯示有關重新加載類的通知。

如果你想依賴pom.xml ,你也可以取消注釋 pom.xml 中的spring-boot-devtools依賴項,它會在更改時觸發服務器重啟。 它有點慢,但肯定不是你描述的 5-7 秒。

我們在項目中使用了 2 個注解處理器:annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" 和 annotationProcessor "org.projectlombok:lombok"。

龍目島工作正常。 但是,如果 spring-boot-configuration-processor 處於活動狀態 - 熱插拔總是重新加載所有類,這對我的項目來說需要超過一分鍾,完全重啟應用程序要快得多。

當我需要熱插拔時,我會在啟動前評論該處理器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM