寫在前面(的廢話):Eclipse無法導航代碼,存在的可能性非常多,這里我們只討論在引用第三方庫時無法導航的情況,是一個很簡單的Case,但是搜索能力好像不太及格,沒找到一針見血的方案,于是自己研究了一下。
正文:
嗯。。五月都快過去了,不發點什么會顯得不愛學習一樣(呵呵噠,Who Cares?)。
最近一個完工的項目要上線了,相對來說清閑了一點(其實你們一直都很閑吧?!你桌子上的《UNIX網絡編程》是怎么回事?),剛好隊里一些同學以后打算找java相關的工作(俺はリーダー嘛,雖然有意發展語言品味,但是從來不給人強制灌輸任何這方面價值觀),于是帶著幾個JAVA粉(開始時我是C++,現在是各種粉(反正我是不會承認是軟粉的,雖然我確實是。))開始了Job-Oriented PRoject 。
做項目當然少不了記日志這一習慣,初步決定使用Log4j.
怒下載之,并在項目中引用之后,使用起來是正常的,但是我們想要方便地查看源代碼時,會顯示下圖所示的內容,告訴我們沒有找到源代碼。
![}2VD_L~A]TS(_TRX73U(_~3 }2VD_L~A]TS(_TRX73U(_~3](http://s1.VeVb.com/20150728/oqcilqbqmzz25.png)
因為你的第三方的庫的目錄Eclipse是不知道在哪里的,所以不會自己去搜尋源代碼,你得自己把源代碼打包,讓Eclipse知道路徑在哪兒。
點擊Attach Source按鈕,彈出選擇框,接著點External Location
![Z9U}N870]RZPSL{I78V6Q4I Z9U}N870]RZPSL{I78V6Q4I](http://s1.VeVb.com/20150728/gdbk4nbaxen25.png)
會彈出選擇框讓你選擇一個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,會顯示出路徑。
![XT35QGY7[$WN8Q~{8GWN]HW XT35QGY7[$WN8Q~{8GWN]HW](http://s1.VeVb.com/20150728/fqjabjsapye25.png)
完畢,doc解決方式一樣。
新聞熱點
疑難解答