2011-04-15 69 views
4

我正在評估Maven 3的工作。對於幾個示例項目,我必須將它們部署到服務器(無存儲庫),但這不是問題。Maven:防止上傳默認jar - 只上傳jar -with-dependencies

在我當前的示例項目中,我試圖只上傳「jar-with-dependencies」。 而這正是我的問題。

除了主工件和jar -with-dependencies(由assembly-plugin創建)上傳以外,它一切正常。

我該如何防止Maven或者部署階段上傳主jar並只上傳給定或指定的文件(在本例中是程序集文件「jar-with-dependencies」)?

參考Only create executable jar-with-dependencies in Maven的問題,我不能只是將包裝設置更改爲pom,因爲它也會阻止程序集插件將我的類添加到JAR文件中。它只創建一個帶有依賴文件的JAR文件。

我希望我清楚我的問題,你能不能幫我;)

+0

如果您試圖僅上傳「jar -with-dependencies」,那聽起來好像你並不瞭解Maven的概念。導致構建會導致一個工件(jar)(或者戰爭,耳朵等),而不是它的依賴,這是Maven-assembly-plugin無法實現的。問題是你想達到什麼目的? – khmarbaise 2011-04-19 07:24:27

+0

那麼,我的目標是瞭解如何指定Maven應該部署哪個文件,哪些不是。 我熟悉Maven的概念,而jar-with-dependencies只是學習如何使用Maven和通用插件的結果。以這2個罐子爲基礎,我想了解如何部署特定的文件。爲了避免誤解,你可以在同一個項目中將它們稱爲first-jar和second-jar。我希望你明白我想說什麼^^ – Zobbl 2011-04-19 08:47:52

回答

0

,如果你只是看如何添加一個文件進行部署,你可以到這裏看看:

http://mojo.codehaus.org/build-helper-maven-plugin/attach-artifact-mojo.html

可能會有所幫助。如果沒有更詳細地表達您的需求。

+0

它有點幫助,但只適用於未來的項目;) 我想配置部署插件(或別的東西,如果有其他人)上傳一個我指定的jar - 覆蓋插件的標準配置。我想告訴maven「上傳這個jar,而不是這個」......類似的東西。 現在,我不知道如何更具體^^,我希望你能理解我的想法 – Zobbl 2011-04-19 10:10:44

0

似乎沒有辦法配置deploy插件來過濾掉項目中的一些工件並選擇性地部署其他工具。面對類似的問題,我們用ease-maven-plugin解決了這個問題。它非常適合我們的發佈過程,但可能不是每個人的正確選擇,因爲它要求採用兩步法。在構建期間,您將製作所有工件的列表並過濾掉您要部署的工件。第二步,然後在一個單獨的項目(或單獨的配置文件)上運行mvn deploy,其中工件的列表作爲唯一可以部署的工件附加到項目上。請參閱ease maven插件源代碼中的示例,以更好地理解它的工作原理。

原始版本無法過濾出項目的特定工件。我有forked該項目,並添加了補丁,增加了這一點。