Java:设置 eclipse 关联 jar 包源码

Java:设置 eclipse 关联 Jar 包源码

在 eclipse 中进行 Java 开发,当我们想要查看某类的某个方法实现时可以同时按住 Ctrl 并点击方法,即可查看源码。

但通常情况下,可以直接定位查看到的是工程包括的 Java 类,而找不到 Jar 包对应的源文件。

我们知道,所谓的 Jar 包就是一些字节码文件组成的库(有点类似于 UNIX 中的静态库 .a 文件)。

有 Jar 包只代表我们可以使用 Jar 包含的方法、功能,但是不等于我们可以看到其实现。

我们可以很方便的使用 Jar 包,但是却不容易获取其源码。

例如:

import java.security.MessageDigest;

public class Main {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        String msg = "0123456789abcdef";
        MessageDigest messageDigest = MessageDigest.getInstance("MD5");
        messageDigest.update(msg.getBytes());
        byte []md5Bin = messageDigest.digest();
        printBytes(md5Bin);
    }

    /**
     * 十六进制打印字节数组
     * @param b byte[]
     */
    public static void printBytes(byte[] b)
    {
        for(int i=0;i<b.length;i++)
        {
            System.out.printf("%02X", b[i]);
        }
        System.out.println();
    }
}

在以上类中,若我想查看 printBytes 方法的实现,可以直接按住 Ctrl 加上鼠标点击方法名定位其实现。

但是,若我想查看 MessageDigest.getInstance 的实现,就会出现:

这时我们可以点击 “Attach Source …” 来关联 JDK 源码。

点击 “External location” 单选项:

点击 “External File…” 并从你电脑的 JDK 安装目录中找到 src.zip 文件:

然后就关联成功啦!

此时,按住 Ctrl 并点击 MessageDigest.getInstance 方法,就可以由 eclipse 自动跳转到其实现:


是不是只有 JDK 的源码可以这样关联呢?普通的 Jar 包和其源码应该如何关联呢?

我们一步一步来。

Step 1:

写一个工具类 MyUtil:

package com.example.test1280;

public class MyUtil {

    public static int myAdd(int a, int b) {
        return a + b;
    }

    public static int mySub(int a, int b) {
        return a - b;
    }

    public static int myMul(int a, int b) {
        return a * b;
    }

    public static int myDiv(int a, int b) {
        return a / b;
    }

}

并保存到:$HOME/com/example/test1280,文件名为:MyUtil.java。

Step 2:

编译生成字节码文件:

$ javac $HOME/com/example/test1280/MyUtil.java

此时在 $HOME/com/example/test1280 目录中有 MyUtil.class 文件。

$ ll $HOME/com/example/test1280/
总计 8
-rw-rw-r-- 1 jiang jiang 415 08-28 21:31 MyUtil.class
-rw-rw-r-- 1 jiang jiang 276 08-28 21:00 MyUtil.java

Step 3:

生成 Jar 包:

删除 MyUtil.java 文件,用 jar 命令生成 Jar 包,名字为 jiang.jar:

$ rm $HOME/com/example/test1280/MyUtil.java
$ jar -cf jiang.jar com

Step 4:

生成源码包:

重新组织 Java 源文件及目录结构:

$ tree $HOME/com
/home/jiang/com
`-- example
    `-- test1280
        `-- MyUtil.java

2 directories, 1 file
$

用 tar 命令打包、压缩生成源码包:

tar zcf $HOME/com.tar.gz com

Step 4:

导入 jiang.jar 包到工程中:

Step 5:

在 eclipse 中关联 jiang.jar 的 Java 源码:com.tar.gz

找到刚刚用 tar 命令打包的源码:

关联成功:


总结:

1.我们可以通过设置 eclipse ,使其关联 JDK 源码,方便在 coding 时直接定位查看其实现;

2.我们可以自己打包 Jar 文件,打包源码文件,导入自己的 Jar 到工程中并关联自己的源码。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值