Как разрешаются конфликтующие свойства при активации нескольких профилей

Документация профилей Maven не упоминает об этом, и это, вероятно, является признаком плохой конструкции процесса сборки, но существуют ли правила для разрешения конфликтующих свойств, если активны несколько профилей и все они определяют одно и то же свойство?

Я уверен, что локальное объявление (в pom.xml) переопределит декларацию в settings.xml, не так уж точно для colocal profiles

  • является ли порядок объявления внутри файла важным?
  • существует ли определенный порядок активации, который может быть важен?
  • - важный порядок, если он активирован вручную через CLI (-Pprofile1,profile2)?

Спасибо

Ответ 1

Решающих конфликтов не происходит - только переопределение. Afaik - это настройки, pom, а затем командная строка. Для нескольких профилей в файле pom и settings также сохраняется порядок в файле, и помимо этого все зависит от версии Maven.

Я бы настоятельно рекомендовал сократить использование вами профилей, чтобы вам не пришлось беспокоиться об этих сложностях и, конечно же, получить установленный плагин поддержки.

Также вы можете увидеть эффективный pom внутри Eclipse в плагине M2Eclipse в редакторе POM. Это должно помочь вам в то же время.

И ответьте на свои вопросы:

Да

Да

Да

Все заказы имеют значение и могут привести к тому, что позволяет иногда произносить "неожиданные" результаты.