pom - mvn eclipse eclipse




獲取附加到Eclipse以獲取Maven管理的依賴關係的源jar文件 (12)

過度建議使用pom中的設置:

<project>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <configuration>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
                ... other stuff ...
            </configuration>
        </plugin>
    </plgins>
</build>
...

首先,我認為這仍然不會附加javadoc和來源(因為我以前曾試圖用-DdownloadSources選項嘗試失敗)。

但令人驚訝的是.classpath文件是在使用POM變體時獲取其源代碼和javadoc的附件!

我正在使用Maven(和Maven Eclipse Integration)來管理Eclipse中Java項目的依賴關係。 來自Maven存儲庫的JAR文件的自動下載功能是實時的節省。 不幸的是,它不包含API文檔和源代碼。

我如何設置Maven以自動獲取源代碼和javadoc附件並在Eclipse中正確註冊它們?


右鍵單擊項目 - > maven - >下載源文件


在我使用m2Eclipse的Eclipse helios版本中沒有

window --> maven --> Download Artifact Sources (select check)

窗口下只有“新窗口”,“新編輯器”,“公開視角”等。

如果你右鍵點擊你的項目,然後選擇maven - >下載源

什麼都沒發生。 沒有源被下載,沒有pom文件被更新,沒有窗口彈出詢問哪些源。

在eclipse之外進行mvn xxx是危險的 - 有些命令不能與m2ecilpse一起工作 - 我曾經這樣做過,失去了整個項目,必須重新安裝eclipse並從頭開始。

我仍然在尋找一種方法讓ecilpse和maven找到並使用像servlet-api這樣的外部jar文件的來源。


在項目級別或用戶屬性級別設置屬性後,請執行Maven - >更新項目(強制更新)。 它下載源


如果源jar包在本地存儲庫中,並且您正在使用eclipses maven支持,則源代碼將自動附加。 您可以運行mvn dependency:sources來下載給定項目的所有源代碼罐。 不知道如何執行相同的文檔,但。


對於Indigo(可能是Helios),上面提到的複選框位於此處:

窗口 - >首選項 - > Maven


我已將pom配置添加到maven-eclipse插件中以下載源代碼和javadoc,但我想/希望這會發生在新的依賴關係上,而不是現有的依賴關係。

對於現有的依賴關係,我在包瀏覽器中瀏覽到“Maven Dependencies”並右鍵單擊commons-lang-2.5.jar,選中Maven | 下載源文件......沒有任何事情發生(沒有進度條或表明它正在做任何事情)。 但是,它確實下載了,因為我現在可以通過commons-lang跳轉到源代碼。


我敢肯定,Eclipse的m2eclipse Maven插件 - 反過來 - 可以做到這一點。 您可以將其配置為自動為您下載源文件和javadoc。

這是通過進入Window> Preferences> Maven並檢查“下載工件來源”和“下載工件JavaDoc”選項來實現的。


我試過windows-> pref ..-> Maven但它沒有工作。 因此,我用命令mvn eclipse創建了一個新的類路徑:eclipse -DdownloadSources = true並刷新了一次工作空間。 瞧..來源被附上。

源jar的條目在類路徑中可用。 因此,新的構建解決了問題...


更改maven-eclipse-plugin的pom以包含source / javadoc只需申請添加到pom的新依賴項即可。 如果我們需要申請現有的依賴關係,我們必須運行mvn dependency:sources。 我檢查了這一點。



mvn eclipse:eclipse -DdownloadSources=true

要么

mvn eclipse:eclipse -DdownloadJavadocs=true

或者你可以添加兩個標誌,正如Spencer K指出的那樣。

另外, =true部分不是必需的,所以你可以使用

mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs




javadoc