IntelliJ IDEA 中看到 classes, sources, javadocs 三種jar的區別和各自的作用

在 intelliJ idea 裏面看到 ,Project Structure——》 Libraries ——》 Sources 的路徑是紅色的

看圖會比較好。以guava包爲例來說明。

可以看到在這看整個maven項目的依賴時,發現如圖的情況,這紅色是什麼情況,是報錯嗎?需要處理嗎?這3個不同jar都是什麼東西,各自有啥作用。大概會有這麼些疑問吧。️。

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

給你2個選擇,一個是選則source,一個是下載source。注意,這個時候,你看到的文件是class文件,是可以直接運行的文件,之所以能看到內部的具體實現,是idea給你自動逆轉換啦。感謝idea吧

(記得當年剛剛工作的時候,使用的eclipse,然後debug的時候,假如要進入這些個沒有sources的jar的時候,就進不去這個class文件,他還傻乎乎的給個彈窗,讓我倒入sources文件,還是idea高級,直接喊你下載。)

這個時候點擊download sources,下載源碼。

這個時候,你看到的文件,就變成啦Java文件,而且,還帶上了很多的註釋。

這個時候,再看倉庫library的變化

可以看到剛剛還是紅色的sources文件,現在有啦,下面的Javadoc還沒有。

然後,再看mven的repository裏面的情況

可以看到jar類型的文件jar包,這地方有2個。

(有麼有疑惑,這個帶sources的jar怎麼比classes的jar還小呢?因爲Java文件在編譯生成class文件的時候,會對代碼進行優化,這個優化是針對運行的,所以,由Java文件變class文件,他到底是變大,還是變小,這個是不確定。)

三個jar包同時存在的也不是沒有,看下面

最後,說一下,各自的作用。

classes的jar,是正兒八經運行項目的時候使用的,因爲這個是直接編譯好的class文件,可以直接被虛擬機運行的。

sources的jar,就是給開發人員看的,自己在學習和debug的時候,可以看到jar包裏面的各種註釋說明,方便學習。

Javadoc的jar,也和sources的jar一個道理吧,起到輔助的作用吧。這個不是必須的,guava就沒有提示你下載這個,就已經顯示了很多的註釋了。

所以,

最開始的那個圖裏面的只要classes的jar不報錯,下面的2個jar,可有可無。不是什麼問題。

瞭解原理就好啦。

我寫完文章,給自己點個贊,不過分吧,
不過分,那我可就點啦啊。

我先點爲敬,你們隨意。大家隨意。不要客氣。。。

作者:李學凱
來源:CSDN

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章