Почему Maven 3 отказывается от поддержки заявки $ версии?

StackOverflow https://stackoverflow.com/questions/2826875

Вопрос

Как вы видите из названия, я хочу спросить об этом в случае Мавана 3 Нет поддержки для версии $ POM.xml больше. Должны ли мы действительно написать постоянную каждый раз в каждом проекте в каждом POM.XML и связанных с этим файлам конфигурации снова и снова? Как мы можем избежать этого делать? Как мы можем использовать метод версий, такой как $ версия?

Это было полезно?

Решение

Выражение ${version} устарели, вы должны использовать ${project.version} Вместо этого, но оба все еще поддерживаются, и вам, безусловно, не нуждается в пользовательской собственности.

Следующее просто работает нормально для меня с Maven 3:

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>services</artifactId>
  <version>${project.version}</version>
  <type>ejb</type>
</dependency>

А также взглянуть на мой предыдущий ответ на Предупреждение о использовании Project.parent.version Как версия модуля в Maven 3, как вы используете version (Основываясь на том, что я видел в комментариях в другом ответе), не имеет большого смысла ИМХО, и Maven 3 на самом деле можно предположить, чтобы следовать наилучшей практикой. Просто наследующуюся версию.

Другие советы

Используя макрос внутри верхней части <version/> элемент и версия в <parent/> Элемент никогда не работал в Maven 2. Это, казалось, работало, но не вызвало ничего, кроме путаницы вниз по течению. Если это не то, о чем вы говорите, пожалуйста, уточните свой вопрос.

Ошибка ниже показывает обесценение $(artifactId} и ${version}

Предупреждение] Выражение $ {Artifactid} устарено. Пожалуйста, используйте $ {project.artifactid} вместо этого. [Предупреждение] Выражение $ {Версия} устарена. Пожалуйста, используйте $ {Project.Version} вместо. [ПРЕДУПРЕЖДЕНИЕ] [ПРЕДУПРЕЖДЕНИЕ] Настоятельно рекомендуется исправлять эти проблемы, потому что они угрожают ему стабильности вашей сборки. [ПРЕДУПРЕЖДЕНИЕ] [ПРЕДУПРЕЖДЕНИЕ] По этой причине будущие версии Maven могут больше не поддерживать создание таких уродливых проектов.

Предупреждающее сообщение вычисляет это. Заменять ${artifactId} с ${project.artifactId}, и ${version} с ${project.version}

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top