快速找到你想要的jar包

在做Java开发时,经常遇到Class not found的错误,一般的做法就是在google上搜索class名字,然后再搜索这个class所在的jar包是哪个,最后才找到可以下载jar包的链接。过程比较繁琐,有没有更好的方法可以快速的找到缺少的class所在的jar包呢?答案是肯定的。

Grepcode

这个网站可以通过class名称直接搜索到拥有这个class的所有的jar包,比如说我们运行Java程序时报下面的错误,发现cn/com/starit/io/SystemDemo02找不到。

1
2
3
4
5
6
7
8
9
10
java.lang.NoClassDefFoundError: cn/com/starit/io/SystemDemo02
Caused by: java.lang.ClassNotFoundException: cn.com.starit.io.SystemDemo02
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Exception in thread "main"
  • 进入grepcode首页,输入cn/com/starit/io/SystemDemo02进行查询。

  • 可以看到查询结果涵盖了所有可能包含这个class的jar包,最前面的是相似度最接近的jar包名称,点开版本号还可以看到具体的源码。

mvnrepository

知道Jar包的名称后,我们就可以通过mvnrepository这个网站来下载对应的jar包了,操作也很简单,输入jar名称就可以查询到相关的jar版本信息,里面还有maven,gradle等构建工具的配置脚本信息。

结合这两个网站就可以很方便的找到缺失的Jar包了。

Comments