当前位置:   article > 正文

jar包增量更新分析

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
  • 1
  • 2
  • 3
  • 4

输出结果

   com.ruoyi.project.system.user.controller.UserController -> cn.hutool.extra.spring.SpringUtil                  hutool-all-5.8.3.jar
   com.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.jar
   com.ruoyi.project.system.user.controller.UserController -> org.hibernate.validator.internal.constraintvalidators.bv.EmailValidator hibernate-validator-6.2.5.Final.jar
   com.ruoyi.project.system.user.controller.UserController -> org.slf4j.Logger                                   slf4j-api-1.7.36.jar
   com.ruoyi.project.system.user.controller.UserController -> org.slf4j.LoggerFactory                            slf4j-api-1.7.36.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.beans.factory.annotation.Autowired spring-beans-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.beans.factory.annotation.Value spring-beans-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.stereotype.Controller          spring-context-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.ui.ModelMap                    spring-context-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.util.CollectionUtils           spring-core-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.GetMapping spring-web-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.PathVariable spring-web-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.PostMapping spring-web-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.RequestMapping spring-web-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.web.bind.annotation.ResponseBody spring-web-5.3.27.jar
   com.ruoyi.project.system.user.controller.UserController -> org.springframework.web.multipart.MultipartFile    spring-web-5.3.27.jar
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/583389
推荐阅读
相关标签
  

闽ICP备14008679号