在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

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

來源| OSCHINA 社區

作者 |抽刀斷水-鷹影

背景

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

使用場景

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

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

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

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

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

使用演示

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

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

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

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

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

右鍵熱部署一下,刷新網頁可以看到結果

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

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

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

執行右鍵熱部署刷新網頁就能看到結果

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

遠程編譯并熱部署

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

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

熱部署 jar 包和 jar 包內的.class

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

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

自動熱部署

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

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

遠程執行方法

附帶了一個非常強大的功能,遠程執行靜態無參方法

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

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

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

安裝文檔

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

審核編輯:湯梓紅

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

    關注

    12

    文章

    9332

    瀏覽量

    86132
  • JAVA
    +關注

    關注

    19

    文章

    2976

    瀏覽量

    105211
  • 代碼
    +關注

    關注

    30

    文章

    4835

    瀏覽量

    69118
  • 插件
    +關注

    關注

    0

    文章

    336

    瀏覽量

    22501
  • 開源框架
    +關注

    關注

    0

    文章

    32

    瀏覽量

    9429

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

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    SpringBoot 如何實現部署

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

    轉:第9章 IAR中的FreeRTOS插件使用方法

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

    docker中java環境的部署

    docker 部署java環境以及常用應用(持續更新)
    發表于 05-24 15:44

    ComponentCodelab——Tablist的使用方法

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

    Keil Assistant的插件使用方法

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

    使用Qt Creator提供的遠程部署調試的方法

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

    RDS for PostgreSQL的插件的創建/刪除和使用方法

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

    Jenkins遠程部署Linux服務器的過程

    Jenkins的遠程部署Linux服務器以及應用。  執行過程如下:  Jenkins拉取代碼  本地構建打包  連接遠程服務器  上傳打包應用  到相應目錄解壓應用內容以及重啟正在運行的應用。  
    發表于 11-18 18:12

    利用Java實現遠程控制

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

    跨網段獲取遠程主機MAC地址的方法java實現

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

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

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

    繼電器使用方法

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

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

    ./oschina_soft/gitee-java-hot-reload-agent.zip
    發表于 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 的行為,從而更新整個運行時的邏輯。 在
    的頭像 發表于 11-23 11:47 ?926次閱讀

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

    使用。 或者要翻墻到google應用商店提交審核,才能更新。 ? ? 2 當前問題 1、由于安全策略逐步增強,越來越不支持更新了,之前可以直接調用遠程資源的方法均被禁止了; 2、c
    的頭像 發表于 06-14 10:19 ?928次閱讀
    chrome<b class='flag-5'>插件</b>新版本(v3版本)中的<b class='flag-5'>熱</b>更新,即加載更新<b class='flag-5'>遠程</b>js的<b class='flag-5'>方法</b>探索
    主站蜘蛛池模板: 成人网在线观看 | 久久综合九色综合欧美播 | 丁香六月 久久久 | 一级毛片看真人在线视频 | 手机在线完整视频免费观看 | 日韩免费一区 | 黄网页在线观看 | 久久久精品久久久久久久久久久 | 色在线视频观看 | 欧美极品在线观看 | 国产三级日本三级日产三级66 | 午夜影院免费版 | 亚洲人成电影院在线观看 | 免费国产h视频在线观看 | 国产欧美日韩视频免费61794 | 丁香激情小说 | 日本免费的一级绿象 | 阿v视频在线观看免费播放 爱爱视频天天干 | 丁香婷婷色 | 天天干天天色天天射 | 黄欧美| 国产成 人 综合 亚洲网 | 日本一区二区视频在线观看 | 男女吃奶一进一出动态图 | 久久99热精品这里久久精品 | 在线a网| 国外一级毛片 | 日本特黄特色aaa大片免费欧 | 天天热天天干 | 狠狠操狠狠 | 久草福利在线播放 | 亚洲综合激情网 | 狠狠干免费视频 | 国产精品天天看 | 欧美巨大xxxx做受中文字幕 | 台湾一级毛片永久免费 | 好骚综合在线 | 毛片网页 | 四虎永久免费影院在线 | 免费国内精品久久久久影院 | 亚洲黄色网址 |