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