如何使用Maven 3 mixins?

时间:2010-03-16 16:52:33

标签: maven mixins maven-3

我试图找出如何在Maven 3中定义mixins,但除了buzz之外找不到任何其他内容。它会作为新功能herehere之一传播。我现在感觉到层次结构的痛苦,并希望给它一个旋转。有没有人有指向文档的指针或甚至定义语法的源?

4 个答案:

答案 0 :(得分:14)

在对this answer的评论中,Brett Porter写道:

  

然而,Maven 3.0还没有提供mixins。 - Brett Porter 2月16日8:18

AFAIK,mixins仍然没有。

答案 1 :(得分:3)

Jesse Glick指出Maven问题5102,所以我只想提及那里最近的评论(2012年10月2日)链接到一个提供mixin行为的新maven插件:maven-tiles。这似乎是最好的选择,直到mixin支持实际上被融入Maven(现在已经延迟了几年)。

编辑2015年1月tknerr指出此问题已被标记为审核Maven 4包含。 Maven开发人员似乎认为需要POM格式更改才能正确支持此功能。 (作为Maven的长期用户,我对此并不感到惊讶。)

答案 2 :(得分:2)

您可以使用开源插件将mixin引入您的pom。

有几个插件以mixin的形式处理层次结构的复杂性。 其中一个旨在解决插件/插件管理部分中的层次结构。

它读取所有导入的POM文件,并以与Maven计算有效pom相同的方式将它们合并到POM文件中。该插件仅合并构建,属性和配置文件部分,并不合并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

答案 3 :(得分:1)

Mixins目前被安排在Maven 3.2中作为bug MNG-5102。它们是许多高度投票的错误,在候选人Maven 3.1中没有得到解决。

非常适合&#34;铺平欲望线&#34;。