2009-06-17 55 views
11

我有兩個maven模塊,一個以jar結尾,另一個依賴於jar。Maven - 添加對工件源的依賴

我希望jar模塊將它的源代碼與jar中的編譯類一起打包,以便第二個模塊能夠訪問它。我曾嘗試使用maven-source-plugin,但我很困惑如何在輸出中添加依賴項。似乎默認情況下,依賴項會傳遞到編譯的jar文件,而不是maven-source-plugin創建的源代碼jar文件(以「-source.jar」結尾)。

如何添加「-source.jar」作爲依賴項,同時仍保留對編譯源的依賴性?

回答

20

我沒有試過這個,但我認爲你需要在你的項目中創建兩個配置文件。一個建立主要的罐子。另一個構建源代碼jar。不幸的是,我不確定你將如何構建該配置文件。到目前爲止,我找不到一個很好的例子。

(Accoding的評論,你實際上並不需要,你也可以只使用源,插件,它會部署資源,使他們可以通過源分類)

從理論上講,你」 d使用第二個配置文件將源添加到項目中。這會在您的存儲庫中爲使用該分類器的源創建第二個條目。將源安裝/部署到存儲庫後,應該可以通過在依賴項上使用分類標記直接指定源來將源包含爲依賴項。

所以你有這樣的事情在你的webapp的POM:

<dependencies> 
    <dependency> 
    <groupId>myGroup</groupId> 
    <artifactId>myJar</artifactId> 
    <version>4.0</version> 
    <type>jar</type> 
    </dependency> 
    <dependency> 
    <groupId>myGroup</groupId> 
    <artifactId>myJar</artifactId> 
    <version>4.0</version> 
    <type>jar</type> 
    <classifier>sources</classifier> 
    </dependency> 
</dependencies> 
+2

我甚至沒有需要的配置文件,Maven的源插件自動作出的「來源」分類可用。剛剛添加了消息來源到依賴項:) – 2009-06-18 10:21:44

1

您是否嘗試將src目錄添加爲構建部分中的資源目錄?這應該將源代碼複製到構建的jar中。