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




mvn eclipse eclipse (14)

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

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


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

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


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


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


過度建議使用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的附件!


如果你使用的是meclipse的話

窗口 - > maven - >下載工件來源(選擇檢查)

(如果你仍然有附加的源窗口,然後點擊附加文件按鈕並關閉附加源窗口。下次你看到源代碼將打開正確的源代碼)

Surajz


我有一個類似的問題,最適合我的解決方案是將源代碼包含在與編譯代碼相同的jar文件中(因此jar中的給定目錄將包含Foo.javaFoo.class )。 Eclipse會自動將源代碼與編譯代碼關聯起來,並自動從源代碼提供JavaDoc。 顯然,這只有在你控制神器時才有用。


mvn eclipse:eclipse -DdownloadSources=true

要么

mvn eclipse:eclipse -DdownloadJavadocs=true

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

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

mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs


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


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


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

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

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

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

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

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

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


在Eclipse-Maven首選項中檢查下載源/ javadoc有時是不夠的。 如果maven由於某種原因未能下載它們(網絡中斷?),maven會創建一些* .lastUpdated文件,然後永遠不會再下載。 我的經驗性解決方案是從.m2 / repository中刪除工件目錄,並在啟動時檢查下載source / javadoc並重新啟動eclipse工作空間並更新項目。 在工作區重新啟動後,也許有些項目可能被標記為錯誤,而eclipse正在下載進度,那麼將清除任何錯誤。 也許這個程序不是那麼“科學”,但對我來說確實成功了。


我不想將源/ Javadoc下載設置放到項目pom.xml文件中,因為我覺得這些是用戶首選項,而不是項目屬性。 相反,我把它們放在我的settings.xml文件中的配置文件中:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <profiles>
    <profile>
      <id>sources-and-javadocs</id>
      <properties>
        <downloadSources>true</downloadSources>
        <downloadJavadocs>true</downloadJavadocs>
      </properties>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>sources-and-javadocs</activeProfile>
  </activeProfiles>
</settings>

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

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





javadoc