Как использовать Maven 3 Mixins?
Вопрос
Я пытался выяснить, как микшины определены в Maven 3, но не смог найти ничего, кроме шума. Он распространяется как одна из самых больших новых функций здесь а также здесь. Анкет В настоящее время я чувствую боль иерархической структуры и хотел бы дать ей вращение. У кого -нибудь есть указатель на документацию или источник, определяющий даже синтаксис?
Решение
В комментарии к этот ответ, Бретт Портер написал:
Однако Maven 3.0 пока не предлагает микшины. - Бретт Портер 16 февраля в 8:18
И Афаик, микшинов до сих пор нет.
Другие советы
Джесси Глик указал на выпуск Maven 5102, поэтому я просто хотел упомянуть, что самый последний комментарий там (2 октября 2012 г.) ссылается на новый плагин Maven, который предлагает поведение микшина: Maven-Tiles. Анкет Похоже, это лучший вариант, пока поддержка Mixin на самом деле не будет выпечена в Maven (то, что было отложено уже на несколько лет).
РЕДАКТИРОВАТЬ 2015 Ян: Tknerr указал, что этот вопрос был помечен для обзора для включения Maven 4. Деверисты Maven, кажется, считают, что для правильной поддержки этой функции требуются изменения в формате POM. (Как давний пользователь Maven, я не удивлен этим.)
Вы можете использовать плагины с открытым исходным кодом, чтобы ввести Mixin в свой POM.
Есть несколько плагинов, которые справляются с сложностью иерархии в форме микшина. Один из них предназначен для решения иерархии в разделе управления плагинами / плагинами.
Он считывает все импортированные файлы POM и объединяет их в файл POM таким же образом, как Maven вычисляет эффективный POM. Плагин объединяет только разделы сборки, свойства и профили и не объединяет никаких других элементов POM, таких как зависимости, репозитории и т. Д.
В приведенном приведенном фрагменте образец артефакта Mixin будет потреблять конфигурацию управления плагинами, как определено в файле POM-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>
Для дальнейшего чтения, проверьте это:http://rethingswd.blogspot.co.il/2014/09/mixin-maven-plugin-reusable-project.html
Микшины в настоящее время запланированы на Maven 3.2 как Ошибка MNG-5102. Анкет Они входят в число многих ошибок, которые не были рассмотрены в кандидате Maven 3.1.
Так много для "прокладки линий желания".