写在前面(的废话):Eclipse无法导航代码,存在的可能性非常多,这里我们只讨论在引用第三方库时无法导航的情况,是一个很简单的Case,但是搜索能力好像不太及格,没找到一针见血的方案,于是自己研究了一下。
正文:
嗯。。五月都快过去了,不发点什么会显得不爱学习一样(呵呵哒,Who Cares?)。
最近一个完工的项目要上线了,相对来说清闲了一点(其实你们一直都很闲吧?!你桌子上的《UNIX网络编程》是怎么回事?),刚好队里一些同学以后打算找JAVA相关的工作(俺はリーダー嘛,虽然有意发展语言品味,但是从来不给人强制灌输任何这方面价值观),于是带着几个JAVA粉(开始时我是C++,现在是各种粉(反正我是不会承认是软粉的,虽然我确实是。))开始了Job-Oriented Project 。
做项目当然少不了记日志这一习惯,初步决定使用Log4j.
怒下载之,并在项目中引用之后,使用起来是正常的,但是我们想要方便地查看源代码时,会显示下图所示的内容,告诉我们没有找到源代码。
因为你的第三方的库的目录Eclipse是不知道在哪里的,所以不会自己去搜寻源代码,你得自己把源代码打包,让Eclipse知道路径在哪儿。
点击Attach Source按钮,弹出选择框,接着点External Location
会弹出选择框让你选择一个jar包或zip包,我们在这里就用shell自带的zip命令将Log4j的源码进行打包,然后让Eclipse知道这个包的路径即可。
请娴熟地使用Ctrl+Alt+T打开你的shell,然后输入
zip -r YourLog4jLocation/src/main/java src.zip
生成一个新的src.zip文件(位于YourLog4jLocation/src/main/java) 接下来在之前的弹框中选择这个src.zip。
完事儿就酱婶儿的:
去看你引用的jar的底下的Source attachment,会显示出路径。
完毕,doc解决方式一样。