2010-03-16 46 views
15

我想弄清楚如何在Maven 3中定義mixins,但除了嗡嗡聲之外找不到其他任何東西。它被傳播爲herehere的一大新功能。我目前感受到等級結構的痛苦,並希望給它一個旋轉。有沒有人有指向文檔或定義語法的源代碼的指針?如何使用Maven 3 mixins?

回答

14

在以this answer評論,佈雷特·波特寫道:

Maven的3.0不提供但尚未混入。 - 佈雷特波特2月16日8時18分

而AFAIK,mixins仍然不存在。

+3

我也問過Twitter和得到了同樣的回答傑森範Zyl。它看起來會在Maven 3.1中出現。請參閱:http://twitter.com/jvanzyl/status/10601935842 –

+0

@Mirko感謝您的反饋! –

+2

查看討論:https://jira.codehaus.org/browse/MNG-5102 –

3

Jesse Glick指出Maven問題5102,所以我只想提一下最新的評論(2012年10月2日)鏈接到一個新的maven插件,它提供了mixin行爲:maven-tiles。這似乎是最好的選擇,直到mixin支持實際上融入Maven(已經推遲了幾年)。

編輯2015-Jantknerr指出此問題已被標記爲審查Maven 4包含。 Maven開發人員似乎認爲需要更改POM格式才能正確支持此功能。 (作爲一個長期的Maven用戶,我對此並不感到驚訝。)

+1

MNG-5102目前說:「修復版本:4.x問題」。所以它不在3.x中,並且可能永遠不會在那裏實現...... –

0

Mixin目前預定爲Maven 3.2作爲bug MNG-5102。他們是候選人Maven 3.1中沒有提到的許多高度投票的錯誤之一。

非常適合「鋪設慾望線」。

1

您可以使用開源插件將mixin引入您的pom。

有幾個插件可以處理mixin形式的層次結構複雜性。 其中之一旨在解決插件/插件管理部分中的層次結構。

它讀取所有導入的POM文件,並以相同的方式將它們合併到POM文件Maven計算有效POM。該插件只合並構建,屬性和配置文件部分,不合並任何其他元素,如依賴項,存儲庫等...

在下面的片段中,工件sample-mixin將使用插件管理配置爲在sample-mixin pom文件中定義。不需要繼承任何父/ POM基地爲這個..

<plugin> 
 
    <groupId>com.github.odavid.maven.plugins</groupId> 
 
    <artifactId>mixin-maven-plugin</artifactId> 
 
    <version>0.1-alpha-23</version> 
 
    <extensions>true</extensions> 
 
    <configuration> 
 
    <mixins> 
 
     <mixin> 
 
     <groupId>mixin-example</groupId> 
 
     <artifactId>sample-mixin</artifactId> 
 
     <version>${project.version}</version> 
 
     </mixin> 
 
    </mixins> 
 
    </configuration> 
 
</plugin>

對於進一步閱讀,檢查出來: http://rethinkingswd.blogspot.co.il/2014/09/mixin-maven-plugin-reusable-project.html