Как использовать миксины Maven 3?

Я пытался выяснить, как миксины определяются в Maven 3, но не нашел ничего, кроме шума. Он распространяется как одна из больших новых функций здесь и здесь. В настоящее время я чувствую боль иерархической структуры и хотел бы дать ей вращение. У кого-нибудь есть указатель на документацию или источник, определяющий синтаксис?


person Mirko Jahn    schedule 16.03.2010    source источник


Ответы (4)


В комментарии к этому ответу Бретт Портер писал:

Однако Maven 3.0 еще не предлагает миксины. — Бретт Портер

И, насколько я знаю, миксинов до сих пор нет.

person Pascal Thivent    schedule 16.03.2010
comment
Я также спросил в твиттере и получил тот же ответ от Джейсона ван Зила. Похоже, это будет в Maven 3.1. См.: twitter.com/jvanzyl/status/10601935842. - person Mirko Jahn; 17.03.2010
comment
@Mirko Спасибо за отзыв! - person Pascal Thivent; 17.03.2010

Джесси Глик указал на проблему Maven 5102, поэтому я просто хотел упомянуть, что самый последний комментарий там (2 октября 2012 г.) ссылается на новый плагин maven, который предлагает поведение миксина: maven-tiles . Это кажется лучшим вариантом, пока поддержка миксинов не будет фактически встроена в Maven (что-то, что было отложено на несколько лет).

Edit 2015-Jan: tknerr указал, что эта проблема помечена для проверки для Maven 4 включение. Разработчики Maven, похоже, считают, что для правильной поддержки этой функции необходимы изменения формата POM. (Меня, как давнего пользователя Maven, это не удивляет.)

person ngreen    schedule 25.01.2013
comment
MNG-5102 в настоящее время говорит: Fix Version/s: Проблемы, которые необходимо проверить для 4.x. Так что его еще нет в 3.x и, вероятно, никогда туда не попадет... - person Torben Knerr; 22.01.2015

Вы можете использовать плагины с открытым исходным кодом, чтобы добавить миксин в ваш 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

person user465363    schedule 12.10.2014

Миксины в настоящее время запланированы для Maven 3.2 как bug MNG-5102. Они входят в число многих ошибок, получивших большое количество голосов, которые не были устранены в кандидате Maven 3.1.

Вот вам и «Прокладывание линий желаний».

person NealeU    schedule 27.05.2013