Я пытался выяснить, как миксины определяются в Maven 3, но не нашел ничего, кроме шума. Он распространяется как одна из больших новых функций здесь и здесь. В настоящее время я чувствую боль иерархической структуры и хотел бы дать ей вращение. У кого-нибудь есть указатель на документацию или источник, определяющий синтаксис?
Как использовать миксины Maven 3?
Ответы (4)
В комментарии к этому ответу Бретт Портер писал:
Однако Maven 3.0 еще не предлагает миксины. — Бретт Портер
И, насколько я знаю, миксинов до сих пор нет.
Джесси Глик указал на проблему Maven 5102, поэтому я просто хотел упомянуть, что самый последний комментарий там (2 октября 2012 г.) ссылается на новый плагин maven, который предлагает поведение миксина: maven-tiles а>. Это кажется лучшим вариантом, пока поддержка миксинов не будет фактически встроена в Maven (что-то, что было отложено на несколько лет).
Edit 2015-Jan: tknerr указал, что эта проблема помечена для проверки для Maven 4 включение. Разработчики Maven, похоже, считают, что для правильной поддержки этой функции необходимы изменения формата POM. (Меня, как давнего пользователя Maven, это не удивляет.)
Вы можете использовать плагины с открытым исходным кодом, чтобы добавить миксин в ваш pom.
Есть несколько плагинов, которые решают сложность иерархии в виде примесей. Один из них предназначен для решения иерархии в разделе плагинов/управления плагинами.
Он читает все импортированные файлы POM и объединяет их с файлом POM таким же образом, как Maven вычисляет эффективный pom. Плагин объединяет только разделы сборки, свойств и профилей и не объединяет никакие другие элементы pom, такие как зависимости, репозитории и т. д.
В приведенном ниже фрагменте кода образец-примесь артефакта будет использовать конфигурацию управления подключаемым модулем, как определено в 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
Миксины в настоящее время запланированы для Maven 3.2 как bug MNG-5102. Они входят в число многих ошибок, получивших большое количество голосов, которые не были устранены в кандидате Maven 3.1.
Вот вам и «Прокладывание линий желаний».