15

我试图弄清楚在 Maven 3 中是如何定义 mixin 的,但除了嗡嗡声之外找不到任何东西。它在此处此处作为重要的新功能之一传播。我目前正在感受到层次结构的痛苦,并想试一试。有没有人有指向文档或定义语法的源的指针?

4

4 回答 4

14

在对此答案的评论中,布雷特波特写道:

然而,Maven 3.0 还没有提供 mixins。——布雷特·波特 2 月 16 日 8:18

和 AFAIK,mixin 仍然不存在。

于 2010-03-16T17:11:57.313 回答
3

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

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

于 2013-01-25T15:21:57.760 回答
2

你可以使用开源插件将 mixin 引入你的 pom.xml 中。

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

它读取所有导入的 POM 文件,并以与 Maven 计算有效 pom 相同的方式将它们合并到 POM 文件中。该插件仅合并构建、属性和配置文件部分,不合并 pom 的任何其他元素,例如依赖项、存储库等……</p>

在下面的代码片段中,工件 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

于 2014-10-12T04:21:30.073 回答
1

Mixin 目前计划在 Maven 3.2 中作为bug MNG-5102 使用。它们是候选 Maven 3.1 中尚未解决的许多高度投票的错误之一。

“铺好欲望线”就这么多。

于 2013-05-27T12:45:26.950 回答