Java 最好用的反编译神器 – IntelliJ IDEA

反编译工具的话在实际工作中还是经常使用的:比如查看一个开源框架的源码,查看线上部署的 jar 包和 war 包是否包含某些代码等等。之前一直使用的是 JD-GUI ,但是有的使用该工具无法反编译某些类,这就很尴尬了。

当使用 IDEA 进行 Debug 时,是可以看到某个依赖的源码。那么如果将某个依赖的 jar包 或者是 war 包当做本地依赖处理,IDEA 是不是也能查看其源码?说干就干。

1. 随便建立一个 Maven 项目,然后将本地的依赖包添加入项目中。

2.pom.xml 文件中引入本地需要反编译的 jar 或者是 war 文件(比如查看 mysql-connector-java-5.1.35.jar)。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>CompileJava</artifactId>
    <version>1.0-SNAPSHOT</version>


    <dependencies>
        <dependency>
            <groupId>cn.havemail</groupId>
            <artifactId>test</artifactId>
            <scope>system</scope>
            <version>1.0</version>
            <!-- 上面几个随便写,下面的路径对就行 -->
            <systemPath>/Users/roc/Downloads/mysql-connector-java-5.1.35.jar</systemPath>
        </dependency>
    </dependencies>
</project>

3. 文件中直接点击右键 -> Maven -> Reload project (或者点击右上角的加载图标),然后左侧就能看到这个已经被加载的依赖。

大功告成!!!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注