IDEA—使用插件反编译jar包
关注微信公众号:CodingTechWork,一起学习进步。
引言
在产品上线后,如果遇到问题阻塞,我们第一步要做的就是去查看日志,但是代码不是一个人写的,说不定就会遇到没有日志的,遇到这种情况,只能去看日志的报错行数是哪里,否则,无从下手。
查看日志报错行数时,发现现有代码又和线上的代码不一致,又阻塞了,怎么办?这个时候我们就需要反编译,反编译有很多工具可以使用,比如JD-GUI。本文接下来就介绍一下如何通过我们神奇的Idea软件进行反编译jar包。
实践
idea反编译插件
首先,我们要保证IDEA中有反编译插件。通过【Settings】——>【Plugins】输入Decompiler进行查看,看是否有Java Bytecode Decompiler这个插件。

命令行进行反编译
查找插件路径

找到IDEA安装路径后,我们就可以找到插件的安装路径:C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.2\plugins\java-decompiler\lib\java-decompiler.jar

反编译
在jar包同目录下创建一个目录,如decompiler_test文件夹。

然后,使用git-bash命令行执行以下命令:
java -cp "C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.2\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true demo-0.0.1-SNAPSHOT.jar decompiler_test

注意
如果不先创建目录,就执行的话,可能会报错。
$ java -cp "C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.2\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true d emo-0.0.1-SNAPSHOT.jar decompiler_test
error: destination 'decompiler_test' is not a directory
查看反编译文件

因为以上命令执行后,反编译出来的也jar包。需要我们进行解压(通过解压工具):

解压后的jar包里面显示的即为java文件:

总结
至此,就可有通过IDEA中的插件对jar包进行反编译。整个流程主要依赖于IDEA中的Java Bytecode Decompiler插件。
IDEA—使用插件反编译jar包的更多相关文章
- jad 反编译 jar包
1.利用winrar解压缩jar包 或者CMD>jar -xvf test.jar -C classes 2.下载jad,利用jad反编译jar包 CMD>[jad_home]/jad.e ...
- 反编译Jar包
Jar 包(Java Archive)是对 Java 程序的打包,它可能包含源码,也可能没有. 对于有包含源码的 Jar 包,在 Eclipse 工程里设定好 source code 路径后能直接查看 ...
- 如何修改可运行Jar包,如何反编译Jar包
将可运行Jar包,反编译成项目,修改代码,再次编译,打包. 需要工具:jd-gui.myeclipse 具体步骤: 1.使用jd-gui打开原始的Jar包,选择File-->Save All ...
- JD-GUI反编译jar包为Java源代码
程序员难免要借鉴其他java工程的代码.可有时只能拿到.calss文件,jar包或者war包,这个时候要求程序员能熟练的将这些类型文件反编译为Java代码并形成可编译运行的项目.本文介绍的反编译工具是 ...
- idea反编译jar包,jclasslib Bytecode Viewer
下载 jclasslib Bytecode Viewer https://plugins.jetbrains.com/plugin/9248-jclasslib-bytecode-viewer/ver ...
- IDEA反编译jar包源码
1.maven 项目查看jar源码 如何在idea中查看jar包源码 文章目录 准备jar包 idea打开文件夹 最后一步 准备jar包 例如,我准备看resin的jar,在桌面准备了一份 ide ...
- Eclipse Oxygen(4.7.0)安装插件Eclipse Class Decompiler反编译JAR文件
引用自官方内容 Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行 ...
- MatLab 2014a编译jar包时mcc无法使用的问题
http://blog.csdn.net/heroafei/article/details/43273373 MatLab 2014a编译jar包时mcc无法使用的问题 2015-01-29 16:5 ...
- eclipse 如何修改maven插件本地仓库jar包默认存储位置
eclipse 如何修改maven插件本地仓库jar包默认存储位置 CreateTime--2018年4月18日11:04:47 Author:Marydon 1.更改eclipse的maven本 ...
随机推荐
- eclipse项目文件夹整理
1.点击倒三角 2.系统默认为Projects,选择第二个working sets 3.点击Configure Working Sets,点new 4.点击后,选中点Add 5.添加一个名字,Fins ...
- 手机APP无法抓包(无法连接服务器)
一. 把证书放到系统信任区 前提:手机已root 详细步骤 计算证书名 openssl x509 -subject_hash_old -in charles-ssl-proxying-certific ...
- 启动tomcat出现闪退的原因
出现闪退的可能有几点: 1.没有安装jdk或者配置jdk是否配置成功 2.找不到jdk安装的路径 3.tomcat环境配置失败 如果是第二点原因(确保第一第三点配置都正确无误)找不到jdk路径的话,可 ...
- python 计算文件md5值
md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...
- Chrome中实时查看.md文件
经常用Vim的朋友,在Vim中有一个Markdown语法高亮的插件,叫做:vim-markdown ,用起来还不错. 在Chrome中有一个实时预览Markdown效果的扩展,叫做:Markdown ...
- 0基础掌握接口测试神器-Postman
一:Postman环境搭建 1:postman是什么?Postman是一款功能强大的网页调试与发送网页HTTP请求的接口测试工具.2:postman有几种安装方式?两种,应用程序和浏览器插件 3:po ...
- 查看/设置 mysql时区
# 查看时区 show variables like '%time_zone%'; # 设置全局 set global time_zone='+8:00'; # 设置当前会话 set time_zo ...
- Flink从入门到入土(详细教程)
和其他所有的计算框架一样,flink也有一些基础的开发步骤以及基础,核心的API,从开发步骤的角度来讲,主要分为四大部分 1.Environment Flink Job在提交执行计算时,需要首先建立和 ...
- IntPtr to bytes
byte[] managedArray = new byte[size]; Marshal.Copy(pnt, managedArray, 0, size);
- 如何把一个一般的git库变成“裸库”?
语法: git clone --bare 「src」 「dest」 e.g. cd ~/Workspace/SourceRepo/ git clone --bare ./ ../Git/bareRep ...