Ответ 1
В комментарии к этому ответу, Бретт Портер писал (а):
Maven 3.0 пока не предлагает миксинов. - Бретт Портер 16 февраля в 8:18
И AFAIK, mixins все еще не существует.
Я пытался выяснить, как mixins определены в Maven 3, но не смогли найти ничего, кроме гудения. Он распространяется как одна из больших новых функций здесь и здесь. В настоящее время я чувствую боль иерархической структуры и хотел бы дать ей вращение. Кто-нибудь имеет указатель на документацию или источник, определяющий синтаксис даже?
В комментарии к этому ответу, Бретт Портер писал (а):
Maven 3.0 пока не предлагает миксинов. - Бретт Портер 16 февраля в 8:18
И AFAIK, mixins все еще не существует.
Джесси Глик указал на вопрос Maven 5102, поэтому я просто хотел упомянуть, что последний комментарий там (2 октября 2012 г.) ссылки на новый плагин maven, который предлагает поведение mixin: maven-tiles. Кажется, это лучший вариант, пока поддержка mixin фактически не запекла в Maven (то, что было отложено на несколько лет).
Edit 2015-Jan: tknerr указал, что эта проблема была отмечена для проверки включения Maven 4. Разработчики Maven, похоже, считают, что изменения формата POM необходимы для правильной поддержки этой функции. (Как долгое время пользователь Maven, я не удивлен этим.)
Вы можете использовать плагины с открытым исходным кодом, чтобы ввести mixin в ваш pom.
Существует несколько плагинов, которые занимаются сложностью иерархии в виде mixin. Один из них предназначен для решения иерархии в разделе управления плагинами/плагинами.
Он считывает все импортированные POM файлы и объединяет их в файл POM таким же образом, как Maven вычисляет эффективный pom. Плагин объединяет только разделы сборки, свойств и профилей и не объединяет другие элементы пом, такие как зависимости, репозитории и т.д.
В приведенном ниже фрагменте образец-mixin артефакта будет использовать конфигурацию управления плагином, как определено в файле pOM sample-mixin. Нет необходимости наследовать родительский/базовый 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>
В настоящее время Mixins запланированы для Maven 3.2 как ошибка MNG-5102. Они относятся к числу многих проголосовавших ошибок, которые не были рассмотрены в кандидате Maven 3.1.
Так много для "Прокладывания линий желания".