久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

idea自動加載html、js而無需重啟進(jìn)程的操作

瀏覽:127日期:2024-04-24 13:45:45

遇到一些單體架構(gòu)的項(xiàng)目時,由于前后端沒有分離導(dǎo)致每一次動手前端都需要重啟進(jìn)程運(yùn)行項(xiàng)目,非常費(fèi)時費(fèi)力,因此只需要在idea中配置幾項(xiàng)就能解決這個問題:

1、快捷鍵Ctrl + Alt + S打開設(shè)置面板,build-compiler---勾選 Build project automatically選項(xiàng)(2016版本的idea有可能是:make project automatically)

2、快捷鍵Ctrl + Shift + A查找registry命令: 在查找到的registry命令通過鼠標(biāo)雙擊或敲回車鍵,在彈出的面板中找到并勾選compiler.automake.allow.when.app.running選項(xiàng)

補(bǔ)充知識:解決IDEA下SpringBoot devtools熱啟動熱部署、修改html或js代碼還要重新啟動服務(wù)問題

其實(shí)并不難,百度上面一大把,但是按照他們這樣做還是不能實(shí)現(xiàn),因?yàn)槲乙婚_始接觸這個問題,用的idea springboot框架修改資源還要重新啟動很麻煩,我就想到有沒有不需要這樣修改立馬生效,本人以前也是搞全棧開發(fā)。也沒想過像他們講的用jrebel,一開始百度

開發(fā)IDE: Intellij IDEA 2018.3.5 SpringBoot:2.0.3.RELEASE

熱部署

大家都知道在項(xiàng)目開發(fā)過程中,常常會改動頁面數(shù)據(jù)或者修改數(shù)據(jù)結(jié)構(gòu),為了顯示改動效果,往往需要重啟應(yīng)用查看改變效果,其實(shí)就是重新編譯生成了新的Class文件,這個文件里記錄著和代碼等對應(yīng)的各種信息,然后Class文件將被虛擬機(jī)的ClassLoader加載。

而熱部署正是利用了這個特點(diǎn),它監(jiān)聽到如果有Class文件改動了,就會創(chuàng)建一個新的ClaassLoader進(jìn)行加載該文件,經(jīng)過一系列的過程,最終將結(jié)果呈現(xiàn)在我們眼前。

類加載機(jī)制

Java中的類經(jīng)過編譯器可以把代碼編譯為存儲字節(jié)碼的Class文件,該Class文件存儲了各種信息,最終要加載到虛擬機(jī)中運(yùn)行使用。

類加載機(jī)制(摘自《深入理解 Java 虛擬機(jī)》)

虛擬機(jī)把描述類的數(shù)據(jù)從Class文件加載到內(nèi)存中,并對數(shù)據(jù)進(jìn)行校驗(yàn)、轉(zhuǎn)換解析和初始化,最終形成可以被虛擬機(jī)直接使用的Java類型。

spring-boot-devtools 自動重啟(熱部署)

在激活了開發(fā)者工具后,ClassPath里對文件做任何修改都會觸發(fā)應(yīng)用程序重啟。為了讓重啟的速度夠快,不會修改的類(第三方JAR包)都加載到了基礎(chǔ)類加載器里,而應(yīng)用程序的代碼則會加載到一個單獨(dú)的重啟類加載器里。檢測到變更時,只會重啟類加載 器重啟。

有些ClassPath里的資源變更后不需要重啟應(yīng)用程序。像Thymeleaf這樣的視圖模板可以直接編輯,不用重啟。在/static 或 /public里的靜態(tài)資源也不用重啟應(yīng)用程序,所以Spring Boot開發(fā)者工具在重啟時排除掉了如下目錄:/META-INF/resources、/resources、/static、/public、/templates。

一、POM集成

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>

二、勾選Build project automatically

idea自動加載html、js而無需重啟進(jìn)程的操作

下面這一步,我自己測試發(fā)現(xiàn)是不需要設(shè)置的。但是有網(wǎng)友說需要設(shè)置才生效,這個看個人情況,酌情設(shè)置。

idea自動加載html、js而無需重啟進(jìn)程的操作

三、IDEA 設(shè)置為在程序運(yùn)行過程中,依然允許自動編譯

操作: ctrl + shift + alt + /,選擇Registry,勾選勾上 Compiler autoMake allow when app running

idea自動加載html、js而無需重啟進(jìn)程的操作

四、spring boot 熱部署下面的running Application Update Policies這兩個要設(shè)置,最重要一步驟,少了還是沒作用。網(wǎng)上很多少了這一步驟,研究半天才發(fā)現(xiàn)

idea自動加載html、js而無需重啟進(jìn)程的操作

執(zhí)行完上述的操作步驟后,我們的devtools熱部署集成就完成了。

以上這篇idea自動加載html、js而無需重啟進(jìn)程的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 闽侯县| 吉隆县| 六枝特区| 平乡县| 余江县| 江永县| 宾阳县| 邵阳县| 鄢陵县| 林口县| 额尔古纳市| 茶陵县| 涿州市| 平度市| 措美县| 广昌县| 新宾| 林州市| 长宁区| 通海县| 米泉市| 义乌市| 吉首市| 奎屯市| 天柱县| 个旧市| 南宫市| 安图县| 紫云| 城步| 蓝田县| 宜兴市| 卫辉市| 马边| 黑河市| 大姚县| 荔浦县| 越西县| 甘孜县| 苏尼特左旗| 黄山市|