почему maven активация через свойство не работает? - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть профиль maven, который активируется с помощью свойства, настроенного в том же файле:

<properties>
  <platform>vanilla</platform>
</properties>


<profile>
  <id>spark-2.2</id>

  <activation>
    <property>
      <name>platform</name>
      <value>vanilla</value>
    </property>
  </activation>

  <modules>
    <module>dependency/preload</module>
  </modules>
</profile>

однако, когда я запускаю mvn install, зависимость / предварительная загрузка не появляется в последовательности сборки реактора, что в конечном итоге приводит к ошибке компиляции. Почему свойство в том же файле бесполезно и что я должен сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 13 ноября 2018

Есть ли смысл, чтобы это работало?Почему вы должны фиксировать его статически в том же помпе?

Обычно, когда у вас много профилей, вы можете захотеть иметь один из них:

<activation>
    <activeByDefault>true</activeByDefault>
</activation>

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

Я приложил ниже части из Введение в профили сборки

Профиль может быть запущен/ активируется несколькими способами:

  • Явно
  • Через настройки Maven
  • На основе переменных среды
  • Настройки ОС
  • Присутствующие или отсутствующие файлы

Часть переменных среды - это та часть, которую, я думаю, вы пытаетесь использовать.И чтобы сделать его немного более запутанным, его позже называют системным свойством .Так что это системное свойство .Позже в этом же документе вы увидите использование:

<activation>
  <property>
    <name>debug</name>
  </property>
</activation>

активируется (например):

mvn install -Ddebug

Однако, например, следующее не работает:

export debug=true
mvn install

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

Еще позже в том же документе несколько строк:

Профили в POM
...
Профили, указанные в POM, могут изменять следующие элементы POM:
...
(фактически не доступно в основном POM, но используетсяза кадром)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...