在 intelliJ idea 里面看到 ,Project Structure => Libraries => Sources 的路徑是紅色的
以 guava 包為例來說明

假如在依賴庫如上的情況下,點進去看 guava 的源碼,會有下圖的效果

有 2 個選擇,一個是選擇 source,一個是下載 source。這個時候,看到的文件是 class 文件,是可以直接運行的文件,之所以能看到內(nèi)部的具體實現(xiàn),是 idea 自動逆轉(zhuǎn)換了,其實文本長這樣:

用 .jar 單步調(diào)試的時候,會有莫名其妙的跳轉(zhuǎn),跳到非代碼行,應(yīng)該就是逆轉(zhuǎn)換的誤差
這個時候點擊 download sources,下載源碼

這個時候看到的文件,就變成 Java 文件,而且還帶上了很多的注釋
這個時候,再看倉庫 library 的變化

可以看到剛剛還是紅色的 sources 文件,現(xiàn)在有了,下面的 Javadoc 還沒有
作用
classes 的 jar,是運行項目的時候使用的,因為這個是直接編譯好的 class 文件,可以直接被虛擬機運行的,只要這個 jar 沒問題,其他 2 個 jar 有缺失,對項目運行無影響
sources 的 jar,是給開發(fā)人員看的,自己在學(xué)習(xí)和 debug 的時候,可以看到 jar 包里面的各種注釋說明
Javadoc 的 jar,也和 sources 的 jar 一個道理,起到輔助的作用