如何使用Maven 3 mixins?

问题描述 投票:15回答:4

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

maven mixins maven-3
4个回答
14
投票

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

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

和AFAIK,mixins仍然不存在。


3
投票

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

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


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


1
投票

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

对于“铺平欲望线”这么多。

© www.soinside.com 2019 - 2024. All rights reserved.