IDEA-jetty熱加載(類文件和靜態資源)

一、場景:

    1、實際項目開發、調試階段,重新打包部署影響效率,熱部署、熱加載可以提高效率;

    2、IDEA在running/debugging狀態下沒有自動編譯的選項;


二、Jetty的maven插件:

<!-- jetty插件 -->
<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>6.1.5</version>
  <configuration>
    <scanIntervalSeconds>2</scanIntervalSeconds><!-- 多少秒進行一次熱部署,設置爲0不會熱加載 -->
    <connectors>
      <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
        <port>8099</port>
      </connector>
    </connectors>
    <contextPath>/lalalala</contextPath>
  </configuration>
</plugin>


三、IDEA在debug狀態下,進行熱加載。

    1、IDEA不支持在運行時自動進行重新編譯,需要手動觸發;

   2、[Main menu]->[Build]->[Recompile ...]/[Build Project],重新編譯單獨的類/重新編譯項目,有對應的快捷鍵設置command+上檔鍵+F9/command+F9。

    3、但是如果我們不想按這麼複雜的按鍵,如果只是想保存文件的時候自動編譯呢,目前只能通過錄制宏的方案解決。


四、宏錄製(轉載其他博客

    

下面是我的操作流程:

首先點擊菜單開始錄製宏

點擊之後這時會在右下角出現一個綠色的小框框和狀態條

這時我們就可以開始錄製啦,先按下快捷鍵 ctrl+s 然後按下快捷鍵 ctrl+F9

2個操作做完之後我們可以停止錄製保存宏啦,你既可以點擊右下角的紅色按鈕 也可以回到菜單點擊  stop Macro  Recording
  

停止錄製之後我們要給他一個名稱,讓他保存到配置裏面去

就像這樣,我給的是 auto make,或者 可以是 save and make 這樣符合我們的操作一點

點擊OK保存後,我們可以到設置面板的快捷鍵設置裏面(keymap)設置宏的快捷鍵

在keymap設置中,我們選擇Macros設置,也就是宏設置,點擊展開後,你可以看到我們剛剛錄製的宏"auto make" ,這時右鍵單機選擇 "add keyboard Shortcut" 爲我們的宏設置快捷鍵

我們按下Ctrl+S設置快捷鍵,這時下面會出現一個紅色的警告,告訴我們這個快捷鍵已經被save All這個操作佔用了,但是不用管,直接點OK保存

保存時會提示你刪除佔用的改快捷的操作設置才能設置快捷鍵,直接點擊"Remove"刪除,然後就能保存成功了。


五、宏的改進版:

    1、按步驟四錄製的宏只對java文件啓作用,但是對於資源文件並未起作用。因此在錄製宏的時候需要多做一步,在資源頁面執行快捷鍵command+上檔鍵+F9,就可以熱加載資源文件了。



參考文檔:

1、關於IDEA不能實時編譯的一個臨時解決辦法。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章