女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java遠程熱部署插件的使用方法

OSC開源社區(qū) ? 來源: OSCHINA 社區(qū) ? 2023-09-07 10:43 ? 次閱讀

來源| OSCHINA 社區(qū)

作者 |抽刀斷水-鷹影

背景

java 開發(fā)中我們經(jīng)常會遇到這樣的場景,代碼需要在服務(wù)器上(測試或者沙箱)運行,但是每次修改代碼我們都需要經(jīng)歷打包 -> 部署 -> 啟動等一些列的流程,這一套流程下來短則幾分鐘,長則幾十分鐘都有可能,漫長的打包流程浪費了我們大量的青春,市面上有很多 java 熱部署的插件,要么是只能修改方法體而不能新增字段和方法,要么就是只能在本地熱部署,本人也是在工作中部署浪費了無數(shù)的青春,于是我痛定思痛,決定寫一款遠程熱部署插件來提高效率,現(xiàn)將該插件 HotSeconds 分享給大家 (本插件分為 HotSecondsClient 和 HotSecondsServer),希望能給大家?guī)韼椭?/p>

使用場景

IDEA 本地修改代碼直接一鍵化熱部署到遠程服務(wù)器,只需要幾秒鐘。

支持修改代碼塊,新增字段,新增方法,新增類。

支持一些開源框架比如 Spring, SpringMVC 和 MyBatis。比如新增一個 @Autorwired 字段或者新增 MyBatis 的接口或者修改.xml 也是可以支持熱部署的。

最重要的一點,能支持自由擴展,比如公司內(nèi)部的框架,或者一些新出的第三方框架,需要在熱部署文件后執(zhí)行一些刷新緩存或者上下文的操作,也能自定義。

有了上述特點,部署效率至少可以提升 100 倍,不過光是熱部署改 bug 還遠遠不是本插件的目標,那只是牛刀小試,我的目標是在線開發(fā),遠程服務(wù)器就是你的執(zhí)行端,而本地,僅僅是一個寫代碼端。

使用演示

安裝完插件后,Debug 旁邊有一個按鈕,打開或者關(guān)閉連接遠程

71f74a54-4ca7-11ee-a25d-92fbcf53809c.png

高版本的 IDEA 可以點 Run->HotSeconds Start/Stop 打開和關(guān)閉。

首次打開會彈出配置選項,可以配置本地哪些目錄下的文件上傳到遠程。

7203897c-4ca7-11ee-a25d-92fbcf53809c.png

熱部署演示

原來代碼長這樣

@Controller
@RequestMapping("/view")
public class HelloViewController {

    @RequestMapping("/test")
    @ResponseBody
    public String test() {
        return "hello,test";
    }
}

我們修改代碼為

@Controller
@RequestMapping("/view")
public class HelloViewController {

    @RequestMapping("/test")
    @ResponseBody
    public String test() {
        return "hello,"+name();
    }
    
    private String name(){
        return "Tom";
    }
}

右鍵,選中 Hot swap this file to remote

723f7748-4ca7-11ee-a25d-92fbcf53809c.png

然后就能把代碼熱部署到遠程,刷新瀏覽器頁面,代碼就生效了。

7274487e-4ca7-11ee-a25d-92fbcf53809c.png

我們接著新增一個注入的字段和 controller

7293de14-4ca7-11ee-a25d-92fbcf53809c.png

右鍵熱部署一下,刷新網(wǎng)頁可以看到結(jié)果

72ef1e64-4ca7-11ee-a25d-92fbcf53809c.png

我們對 UserMapperXml.xml 修改一下 Mybatis 代碼

730b7758-4ca7-11ee-a25d-92fbcf53809c.png

執(zhí)行右鍵熱部署刷新網(wǎng)頁就能看到結(jié)果

7377f4c8-4ca7-11ee-a25d-92fbcf53809c.png

遠程編譯并熱部署

右鍵菜單下有遠程編譯并熱部署的功能,主要是解決本地和遠程 jdk 版本不一致的問題,已兼容 jre 啟動問題和 lombok。

73a9b170-4ca7-11ee-a25d-92fbcf53809c.png

熱部署 jar 包和 jar 包內(nèi)的.class

打開一個 jar 包的.class,右鍵,可以看到兩個選項,可以將當前的.class 熱部署到遠程,也可以將整個 jar 包熱部署到遠程。

73c19fd8-4ca7-11ee-a25d-92fbcf53809c.png

自動熱部署

在 Run->HotSeconds Settings->Settings 中可以設(shè)置自動熱部署,只要本地文件修改了就會自動熱部署到遠程。
改完記得保存一下 (ctrl+s/command+s),不然會有延遲

73e4ca1c-4ca7-11ee-a25d-92fbcf53809c.png

遠程執(zhí)行方法

附帶了一個非常強大的功能,遠程執(zhí)行靜態(tài)無參方法

73fe496a-4ca7-11ee-a25d-92fbcf53809c.png

這樣可以不用寫接口就可以直接執(zhí)行遠程的函數(shù),可以在這個函數(shù)里面調(diào)用一些有參數(shù)或者非靜態(tài)的方法,中間需要比如 Spring 容器上下文自己去維護即可,非常方便。

74220c60-4ca7-11ee-a25d-92fbcf53809c.png

安裝文檔

本插件分為 HotSecondsClient 和 HotSecondsServer,請點擊下面文檔查看詳細的安裝教程

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9681

    瀏覽量

    87261
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2984

    瀏覽量

    106838
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4886

    瀏覽量

    70240
  • 插件
    +關(guān)注

    關(guān)注

    0

    文章

    339

    瀏覽量

    22947
  • 開源框架
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    9488

原文標題:Java遠程熱部署插件 - 吊打市面插件

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    SpringBoot 如何實現(xiàn)部署

    部署是軟件開發(fā)中一個非常有用的功能,它允許我們在不重新啟動整個應(yīng)用的情況下,依舊能夠使我們修改的代碼生效。 現(xiàn)在Java Web 開發(fā)應(yīng)該都是使用的 SpringBoot,那么本篇文章就來介紹
    的頭像 發(fā)表于 09-30 10:16 ?995次閱讀
    SpringBoot 如何實現(xiàn)<b class='flag-5'>熱</b><b class='flag-5'>部署</b>

    轉(zhuǎn):第9章 IAR中的FreeRTOS插件使用方法

    第9章 IAR中的FreeRTOS插件使用方法 本章節(jié)介紹IAR中所帶的FreeRTOS插件使用方法,這個插件的功能比較弱,初學的話,有個
    發(fā)表于 08-23 09:51

    docker中java環(huán)境的部署

    docker 部署java環(huán)境以及常用應(yīng)用(持續(xù)更新)
    發(fā)表于 05-24 15:44

    ComponentCodelab——Tablist的使用方法

    讓開發(fā)者了解HarmonyOS應(yīng)用開發(fā)常用布局和常用組件之Tablist的使用方法,體驗從工程創(chuàng)建到代碼、布局的編寫,再到編譯構(gòu)建、部署和運行的全過程。
    發(fā)表于 05-08 22:04

    Keil Assistant的插件使用方法

    Keil Assistant的插件使用方法
    發(fā)表于 10-09 07:23

    使用Qt Creator提供的遠程部署調(diào)試的方法

    使用Qt Creator遠程調(diào)試部署應(yīng)用到嵌入式linux開發(fā)板最近在調(diào)試開發(fā)一款Cottex-A5的開發(fā)板上的應(yīng)用,主要使用了Qt作為GUI開發(fā)應(yīng)用,之前用Yocto搭建好系統(tǒng)發(fā)行版和主機交叉編譯
    發(fā)表于 11-05 07:20

    RDS for PostgreSQL的插件的創(chuàng)建/刪除和使用方法

    本文介紹 RDS for PostgreSQL 的插件及不同插件的創(chuàng)建、刪除或使用方法。PostgreSQL插件簡介是開源數(shù)據(jù)庫中的關(guān)系型數(shù)據(jù)庫,它的 PostgreSQL 確實具有基
    發(fā)表于 04-25 10:30

    Jenkins遠程部署Linux服務(wù)器的過程

    Jenkins的遠程部署Linux服務(wù)器以及應(yīng)用。  執(zhí)行過程如下:  Jenkins拉取代碼  本地構(gòu)建打包  連接遠程服務(wù)器  上傳打包應(yīng)用  到相應(yīng)目錄解壓應(yīng)用內(nèi)容以及重啟正在運行的應(yīng)用。  
    發(fā)表于 11-18 18:12

    利用Java實現(xiàn)遠程控制

    介紹了遠程控制的原理,詳細地敘述了利用Java 實現(xiàn)遠程控制軟件的程序設(shè)計方法和要點,并給出了要點的具體實現(xiàn)方法
    發(fā)表于 09-03 09:36 ?37次下載

    跨網(wǎng)段獲取遠程主機MAC地址的方法java實現(xiàn)

    本文分析了利用SendARP 方法(基于ARP 協(xié)議)來獲取遠程主機MAC 地址的缺陷,提出了一種新思路——研究并利用SNMP 協(xié)議來快速獲取遠程主機MAC 地址的方法,并給出了其在
    發(fā)表于 09-18 11:01 ?61次下載

    java中數(shù)組的三種定義方式_java中數(shù)組的定義及使用方法(推薦)

    java中,數(shù)組是一種很常用的工具,本文將介紹來java中數(shù)組的三種定義方式以及java中數(shù)組的定義及使用方法
    發(fā)表于 01-29 09:53 ?3.3w次閱讀

    繼電器使用方法

    本文首先介紹了繼電器安裝使用方法,其次介紹了繼電器使用中的兩大注意事項,最后介紹了繼電器的日常維護。
    的頭像 發(fā)表于 05-09 16:58 ?2.6w次閱讀

    java-hot-reload-agent java更新插件

    ./oschina_soft/gitee-java-hot-reload-agent.zip
    發(fā)表于 06-14 09:26 ?2次下載
    <b class='flag-5'>java</b>-hot-reload-agent <b class='flag-5'>java</b><b class='flag-5'>熱</b>更新<b class='flag-5'>插件</b>

    Java項目有可能做到所有的代碼邏輯均可部署嗎?

    首先我們明確下什么叫做部署部署是在不重啟 java 虛擬機的前提下,自動更新 class 的行為,從而更新整個運行時的邏輯。 在
    的頭像 發(fā)表于 11-23 11:47 ?1093次閱讀

    chrome插件新版本(v3版本)中的更新,即加載更新遠程js的方法探索

    使用。 或者要翻墻到google應(yīng)用商店提交審核,才能更新。 ? ? 2 當前問題 1、由于安全策略逐步增強,越來越不支持更新了,之前可以直接調(diào)用遠程資源的方法均被禁止了; 2、c
    的頭像 發(fā)表于 06-14 10:19 ?1237次閱讀
    chrome<b class='flag-5'>插件</b>新版本(v3版本)中的<b class='flag-5'>熱</b>更新,即加載更新<b class='flag-5'>遠程</b>js的<b class='flag-5'>方法</b>探索