java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > jar包增量更新分析

关于jar包增量更新分析

作者:美味豆腐汤

这篇文章主要介绍了关于jar包增量更新分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

jar包增量更新分析

jdk自带工具jdeps,可分析class依赖关系(依赖的其它类和jar)。

团队,可以在此工具结果的基础上再详细分析对比出增量文件;

思路如下:

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.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

增量更新jar包,报错问题(It has been compressed and nested jar files must be stored without compression)

报错信息

我们在增量更新jar时,有新增的依赖包。

重新打包之后,报错:

It has been compressed and nested jar files must be stored without compression.Please check the mechanism userd to create your executable jar file.

报错原因

这个报错的大致意思是:

它已经被压缩,嵌套的jar文件必须在没有压缩的情况下存储。请检查用于创建可执行jar文件的机制。

使用winrar或者7zip解压工具,点开后修改lib内的jar包,修改后重新保存的时候,对lib内的jar包进行了重复压缩,所以访问不到。

解决方式

Windows环境下:

Linux环境下:

jar命令:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文