我试图弄清楚在 Maven 3 中是如何定义 mixin 的,但除了嗡嗡声之外找不到任何东西。它在此处和此处作为重要的新功能之一传播。我目前正在感受到层次结构的痛苦,并想试一试。有没有人有指向文档或定义语法的源的指针?
4 回答
Jesse Glick 指出了 Maven 问题5102,所以我只想提一下,那里的最新评论(2012 年 10 月 2 日)链接到提供混合行为的新 maven 插件:maven-tiles。这似乎是最好的选择,直到 mixin 支持真正融入 Maven(现在已经延迟了几年)。
编辑 2015 年 1 月:tknerr指出这个问题已被标记为 Maven 4 包含的审查。Maven 开发人员似乎认为需要更改 POM 格式才能正确支持此功能。(作为一个长期使用 Maven 的用户,我对此并不感到惊讶。)
你可以使用开源插件将 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
Mixin 目前计划在 Maven 3.2 中作为bug MNG-5102 使用。它们是候选 Maven 3.1 中尚未解决的许多高度投票的错误之一。
“铺好欲望线”就这么多。