jar包增量更新分析

jdk自帶工具jdeps,可分析class依賴關系(依賴的其它類和jar)。

團隊,可以在此工具結果的基礎上再詳細分析對比出增量文件; 思路如下:

  1. jdeps分別分析出舊包和新包的文件依賴關系。并對比出新增的文件列表、刪除的文件列表,分別加入到待更新的文件列表
  2. 分析出依賴關系沒變化的文件列表,分別計算這些文件在舊包和新包的md5值。如果md5值不同,則表示文件有變化,也加入到待更新的文件列表

jdeps使用舉例:(分析UserController.class)

#  -cp指定classpath。多個classpath之間用“:”分割
# -f 過濾掉jdk文件
# -v 輸出詳細信息
jdeps -cp ".:../lib/*" -f java.* -v com/ruoyi/project/system/user/controller/UserController.class

輸出結果:

   com.ruoyi.project.system.user.controller.UserController -> cn.hutool.extra.spring.SpringUtil                  hutool-all-5.8.3.jarcom.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.constant.Constants                .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.constant.Constants$Command        .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.constant.Constants$ProvinceCode   .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.constant.Constants$ProvinceCode$Telecom10010 .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.exception.BusinessException       .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.utils.Encryption                  .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.utils.RSACoder                    .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.utils.StringUtils                 .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.utils.poi.ExcelUtil               .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.common.utils.security.ShiroUtils         .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.framework.aspectj.lang.annotation.Log    .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.framework.web.controller.BaseController  .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.framework.web.domain.AjaxResult          .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.framework.web.domain.BaseEntity          .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.framework.web.page.TableDataInfo         .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.bizmanage.order.service.IUserPropertyService .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.dept.domain.Dept          .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.dept.service.IDeptService .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.post.service.IPostService .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.role.domain.Role          .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.role.service.IRoleService .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.user.domain.User          .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.user.domain.vo.EditableAttribute .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.user.service.EditableAttributeListConfig .com.ruoyi.project.system.user.controller.UserController -> com.ruoyi.project.system.user.service.IUserService .com.ruoyi.project.system.user.controller.UserController -> org.apache.shiro.authz.annotation.RequiresPermissions shiro-core-1.12.0.jarcom.ruoyi.project.system.user.controller.UserController -> org.hibernate.validator.internal.constraintvalidators.bv.EmailValidator hibernate-validator-6.2.5.Final.jarcom.ruoyi.project.system.user.controller.UserController -> org.slf4j.Logger                                   slf4j-api-1.7.36.jarcom.ruoyi.project.system.user.controller.UserController -> org.slf4j.LoggerFactory                            slf4j-api-1.7.36.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.beans.factory.annotation.Autowired spring-beans-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.beans.factory.annotation.Value spring-beans-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.stereotype.Controller          spring-context-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.ui.ModelMap                    spring-context-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.util.CollectionUtils           spring-core-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.GetMapping spring-web-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.PathVariable spring-web-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.PostMapping spring-web-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.RequestMapping spring-web-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.ResponseBody spring-web-5.3.27.jarcom.ruoyi.project.system.user.controller.UserController -> org.springframework.web.multipart.MultipartFile    spring-web-5.3.27.jar

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13334.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13334.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13334.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端學習第一課

AJAX 事先說明,這只是記錄,并不是從零到一的教學內容,如果想要學習的話,可以跳過本文章了 ok,轉回正題,正如上面所說,這只是記錄。其實我是有一定的前端基礎的,也做過涉及相關的開發…

【工具】macOS、window11訪問limux共享目錄\共享磁盤,samba服務安裝使用

一、samba服務安裝 Samba是一個免費的開源軟件實現,使得非Windows操作系統能夠與Windows系統進行文件和打印服務共享。它實現了SMB/CIFS協議,并且能夠在Linux、Unix、BSD等多種系統上運行。 安裝 samba: sudo yum install samba配置 samba…

【kali工具】NMAP 高級使用技巧

NMAP 高級使用技巧 6.1.3 NMAP 語法及示例 語法:nmap [Scan Type(s)] [Options] 例 1:使用 nmap 掃描一臺服務器 默認情況下,Nmap 會掃描 1000 個最有可能開放的 TCP 端口。 ┌──(root💀xuegod53)-[~] └─# nmap 192.168…

【介紹下Python多線程,什么是Python多線程】

🌈個人主頁: 程序員不想敲代碼啊 🏆CSDN優質創作者,CSDN實力新星,CSDN博客專家 👍點贊?評論?收藏 🤝希望本文對您有所裨益,如有不足之處,歡迎在評論區提出指正,讓我們共…

【氣象常用】時間序列的線性擬合

效果圖: 主要步驟: 1. 數據準備:下載Hadley Centre observations datasets的HadSST數據 可參考【氣象常用】時間序列圖-CSDN博客 2. 數據處理:計算線性擬合 3. 圖像繪制:繪制折線及擬合線,并添加文本 …

Nacos部署選擇數據源mysql8.0,啟動報錯No DataSource Set(終極解決方案)

Nacos部署選擇數據源mysql8.0,啟動報錯No DataSource Set(終極解決方案) 選擇mysql5.7正常,但是選擇mysql8.0就報這個錯,配置都確認無問題,但就是用不了mysql8.0 排查了好久,發現是數據庫字符集…

其他自動化工程師都在偷偷學習AI技術,你再不學就落后了!一篇文章教會你使用AI!

其他自動化工程師都在偷偷學習AI技術,你再不學就落后了!一篇文章教會你使用AI! 哈嘍,大家好,我是小叔。了解小叔的朋友都清楚,我從來都不是標題黨,我只會用美女圖片來吸引你們😂&am…

python 六句話讓電腦告訴你,剛才插入的串口編號

六句話讓電腦告訴你,我的串口號 第一步,安裝python 編譯器以及pyserial 模塊第二步,寫入代碼 import serial.tools.list_ports usart_list list(serial.tools.list_ports.comports()) input("Please insert your serial port:")…

【OpenCV 基礎知識 4】分離圖像通道

cvSplit()是openCV中的一個函數,它分別復制每個通道到多個單通道圖像。 void cvSplit( const CvArr* src, CvArr* dst0, CvArr* dst1, CvArr* dst2, CvArr* dst3 );.cvSplit()函數將復制src的各個通道到圖像dst0,dst1,dst2和dst3中…

midjourney里有哪些常用參數?

一、stylize參數 Midjourney 經過訓練,可以生成更加具有藝術色彩、構圖和形式的圖像。 --stylize或參數--s影響該訓練的應用程度。 低風格化值生成的圖像與提示詞非常匹配,但藝術性較差。數值越高藝術性更好,但是和描述詞相關性更差&#…

Polars,一個高效處理數據的python庫

Polars 庫簡介 Polars 是一個用于數據操作和分析的快速、內存優化的Rust編寫的DataFrame庫,具有類似于Pandas的API接口。它提供了高性能的數據操作、并行計算和內存效率,適用于處理大規模數據集。 安裝與使用 使用 pip 安裝 Polars:pip install polarsPython 中導…

【python量化交易】—— 雙均線擇時策略 - Qteasy自定義交易策略【附源碼】

使用qteasy自定義并回測雙均線交易策略 使用qteasy自定義并回測一個雙均線擇時策略策略思想導入qteasy模塊創建一個新的策略回測交易策略,查看結果 使用qteasy自定義并回測一個雙均線擇時策略 我們今天使用qteasy來回測一個雙均線擇時交易策略,qteasy是…

Spring初學入門(跟學筆記)

一、Spring概述 Spring是一款主流的Java EE輕量級開源框架。 Spring的核心模塊:IoC(控制反轉,指把創建對象過程交給Spring管理 )、AOP(面向切面編程,在不修改源代碼的基礎上增強代碼功能) 二、…

AI大語言模型在公共服務中的應用實例

隨著計算機技術的飛速發展,人工智能已經成為了當今科技領域的熱門話題。從早期的圖靈測試到現在的深度學習和神經網絡,人工智能已經取得了令人矚目的成就。特別是近年來,大數據、云計算、高性能計算等技術的發展為人工智能的研究提供了更加廣…

【Linux深度學習5.15(堡壘機)】

JumpServer堡壘機 使用堡壘機管理服務器 一. 環境 1.將jump壓縮包上傳至服務器并解壓2.安裝jump server./jumpserver install一直選擇默認就可以3.啟動jumpserver./jumpserver start4.測試windows : 瀏覽器訪問ipLinux : ssh -p2222 adminip5.登錄賬號 : admin 密碼 : admin…

多客陪玩系統源碼,線上游戲開黑陪玩,線下預約家政服務,語音陪聊,陪玩成品搭建,源碼交付,支持二開,陪玩系統開發

游戲陪玩系統主要的優勢就是,只要有手游和網游不斷推出,就有錢可賺。為什么呢?因為電競行業正處于上升發展階段,而且玩游戲對于現代人來說是很好的一種解壓方式,所以在市場和用戶需求方面都是有保證的。再加上現代人的社交壓力越…

使用 5 種有用的方法將音樂從 iTunes 傳輸到安卓手機

有許多在線音樂應用程序可供您選擇,但如果您想在 安卓手機上欣賞 iTunes 音樂,您需要了解步驟。今天的主題是如何將音樂從 iTunes 傳輸到 安卓設備上。雖然沒有適用于 Android 的 iTunes,但您可以在此處獲取 5 種有用的方法將 iTunes 音樂傳輸…

Nginx-04-Docker Nginx

Docker Nginx 實戰 HTTP 服務 Nginx 的最大作用,就是搭建一個 Web Server。 有了容器,只要一行命令,服務器就架設好了,完全不用配置。 運行官方 image $ docker container run \-d \-p 8080:80 \--rm \--name mynginx \nginx…

突破性能瓶頸: Java 22的性能提升之旅

Java 22帶來的性能改進,特別是在垃圾回收(GC)方面的優化,對于實時系統有著顯著的影響。實時系統要求在保證高響應性的同時,還需要保持較高的可靠性和穩定性。以下是一些關鍵點,展示了Java 22性能改進對于實…

Java進階-SpringCloud設計模式-工廠模式的設計與詳解

在Java和Spring Cloud的上下文中,雖然Spring Cloud本身并沒有直接實現傳統的設計模式(如工廠模式),但理解設計模式如何與Spring框架結合使用是非常重要的。工廠模式是一種創建型設計模式,它提供了一種封裝對象創建過程…