2013-07-05 111 views
6

3問題:Maven依賴於javadocs

下面是JUnit的兩個Maven依賴關係。我一直在搜尋幾個小時的互聯網,似乎無法確定第二個是Javadoc +代碼還是隻有Javadoc。我需要一個還是兩個?此外,將Javadocs包含在開發項目中而不是生產版本中最有效的方法是什麼? (我寧願不要手動下載javadoc,瞭解每臺機器上的每個依賴。)

<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.11</version> 
</dependency> 

~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.11</version> 
    <classifier>javadoc</classifier> 
</dependency> 

編輯:問題:

  • 是這些依賴關係之間的區別?
  • 我是否需要兩個 他們能夠使用依賴關係&手頭上有Javadoc?
  • 包含Javadocs進行開發的最佳做法是什麼?
+0

這應該有幫助(如果我得到你的問題之一):http://stackoverflow.com/questions/5780758/maven-always-download-sources-and-javadocs –

+0

@Andreas_D我看過那一個。我做了推薦的添加,但在此步驟中輸了一些:「然後確保activeProfiles包含新配置文件。」 – AnthonyW

+0

將答案中的代碼複製到'〜/ .m2/settings.xml'文件中就足夠了。您可能需要將配置文件元素添加到配置文件中(如果已經有一些定義) –

回答

8

一般來說,您的IDE將在Maven項目中爲您處理javadoc的解析。這假設你的IDE瞭解maven - 例如netbeans,intellij或eclipse w/m2e。

第二個神器只是javadocs。第一件神器是代碼。幾乎沒有任何理由將javadoc工件包含爲依賴項。

+2

謝謝!僅第二段回答關於SO的六個開放問題。 – AnthonyW

+1

我使用Eclipse w/m2e。一旦我綁定了一個依賴項,JUnit在這個例子中,是否有某處我可以右鍵單擊並告訴它將文檔拉出來? – AnthonyW

+4

如果你按住ctrl並點擊JUnit中的某個方法,你應該看到它拉入代碼。然後當你將鼠標放在方法上時(例如'org.junit.Assert.assertNotNull'),如果javadocs尚未啓動,你應該開始看到javadocs。 –

1

我偶然發現了這個問題,當我在eclipse中創建一個maven項目時,既沒有javadoc也沒有依賴項的源代碼附加到我的項目中,我想知道要添加哪個依賴項。

什麼幫助我加入了

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

到我的pom.xml。這樣,你只需要使用第一個依賴項,而maven/eclipse負責下載第二個依賴項(就像在其他答案中指出的那樣,只有javadoc)。

6

通常Javadoc不主要用作依賴關係。因爲這些在編譯和運行時都不需要。這只是在開發或調試時幫助開發人員。

假設使用java IDE Eclipse,我們可以使用所引用的java文檔。以下是我們可以將javadocs/sources與各個jar相關聯的方法。

1.如果它是不Maven項目: 下載的javadoc JAR或壓縮文件,無論可用,把它放在某個目錄。 右鍵單擊Eclipse Eclipse中的應用程序項目,單擊屬性,然後選擇Java Build Path,然後選擇Java Build Path下的選項卡庫。現在展開您想要與java docs/source鏈接的jar。選擇Javadoc位置鏈接並單擊編輯按鈕,出現一個新窗口,我們需要選擇javadocs jar路徑。單擊確定,我們已將javadoc/source與相應的jar相關聯。

enter image description here

2。如果它是一個maven項目

如果我們正在使用Maven項目,然後轉到項目資源管理器視圖中的項目下的Maven依賴項下的jar文件,如下所示。現在右鍵單擊要添加Javadoc/source的jar文件,選擇Maven,然後單擊要鏈接到項目的Javadoc或Source。現在,IDE將自動下載所需的javadoc/source,並將其與項目中相應的jar鏈接起來。

enter image description here

您可以通過右鍵點擊在IDE的項目驗證這一點,並單擊Java構建路徑,然後選擇庫選項卡中的Java構建路徑下,當您單擊,然後展開所需的罐子,在這裏編輯按鈕,你會看到Javadoc/Source的鏈接路徑與相應的jar,如下圖所示。

enter image description here

3.如果是Maven項目,我們正在設置的默認行爲:

Eclipse將aquatically下載的javadoc /來源與在起跑線主所需的jar一起。 默認將指令設置爲Maven以下載項目中鏈接的所有jar文件的Javadoc/sources。

單擊Windows - 偏好 - 選擇Maven和點擊複選框下載神器的Javadoc如下圖所示

enter image description here

現在點擊應用並保存它,現在在創建新的Maven項目,在默認情況下的Javadoc將被下載並鏈接到項目中的所有相關罐子。
您可以通過右鍵單擊項目和屬性進行驗證,並在Java構建路徑下可以看到javadoc與所有jar相關聯,如下所示。

enter image description here

如果你的項目是Maven的項目,然後它總是最好的,因爲通過使用這種方法的IDE和Maven使用第二個方法,需要下載的Javadoc /源的正確版本的關懷和與連接它相對的罐子也是如此。

方法3的代價很大,因爲javadoc/sources將被下載到所有依賴的jar中,可能你對所有依賴jar的javadocs/sources不感興趣。