快速解决方案
- 查询class相对路径:
jar tf test.jar | grep "test.class"
- 单独解压class文件:
jar xvf test.jar com/test/test.class
- 查看class文件内容:
javap -c com/test/test.class
背景
服务运行后,日志打印出来发现:字段丢失,定位查找问题,确认是否是服务器CLASS类与本地JAVA代码不一致。
1. 查找类目录
Linu命令 展开当前目录结构:tree
定位到类所在JAR包:
JAR命令的应用
以下为:JAR命令的基本使用
1. 过滤class路径
使用方式:jar tf test.jar | grep "test.class"
使用示例:jar tf hs-global-modelbff-api-1.0.9-SNAPSHOT.jar | grep "UserBenefitDTO.class"
2. 解压JAR文件:
2.1 简单粗暴,直接解压整个JAR包:
使用方式:jar xvf test.jar
使用示例:jar xvf hs-global-modelbff-api-1.0.9-SNAPSHOT.jar
2.2 优雅精致,解压需要查看的类:
使用方式:jar xvf test.jar com/test/test.class
使用示例:jar xvf hs-global-modelbff-api-1.0.9-SNAPSHOT.jar com/tpsjj/dto/user/UserBenefitDTO.class
注意:JAR包 跟 class 路径不能写反哦
3. 查看class文件内容
使用方式:javap -c com/test/test.class
使用示例:javap -c com/tpsjj/dto/user/UserBenefitDTO.class