2011-11-22 21 views
0

我一直認爲類路徑是理所當然的,即 - 它的東西,日食,maven,螞蟻等等爲我處理。很顯然,classpath是java「查找」與應用程序執行/集成的二進制類的地方。Java類路徑程序集是如何工作的?

但是,有一些錯綜複雜的,沒有清楚描述。

1)java如何在類路徑中「查找」類?

2)查看類路徑時,javac如何處理碰撞?

3)發生了什麼事時的工具,如行家/螞蟻添加/忽略要素類路徑「引擎蓋下」?這些工具是否簡單地包裝了javac程序?

4)最後:有沒有「手動」構建複雜的Java的一個例子,那不運用現代代的構建工具---只是爲了教育目的 - 這是可用?

回答

1
  1. 類位置是隻是完全合格的名稱層次。獲取字節流取決於後備存儲,無論是在文件系統上(只是讀取文件),在一個jar中(讀取zip條目),在一個數據庫中(獲取字節)。這取決於類加載器將FQN轉換爲字節流。

  2. 取決於實現。通常首先在類路徑上勝出,但這不是要求,它只是最簡單的。

  3. 或多或少。

  4. 你的意思是像一個老Makefile基於一個?還是一個大酒杯?螞蟻一個?不確定你在問什麼。它主要是建立類路徑,這很容易,並創建工件。

+0

謝謝!你能否詳細說明「創建工件」部分? – jayunit100

+0

@ jayunit100事情就像罐子,戰爭,耳朵,javadocs等等。沒有一個是過分有趣的(IMO),它是文書。 –

0

man javacman java回答您的大多數問題。

3)他們只是把它包裝