Почему Maven 3 отказывается от декларации поддержки версии приложения? - PullRequest
8 голосов
/ 13 мая 2010

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

Ответы [ 3 ]

15 голосов
/ 13 мая 2010

Выражение ${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 на самом деле любезно предлагает следовать передовой практике. Просто унаследуйте версию.

1 голос
/ 13 мая 2010

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

0 голосов
/ 17 февраля 2016

Приведенная ниже ошибка показывает амортизацию $(artifactId} и ${version}

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

В предупреждающем сообщении это прописано. Заменить ${artifactId} на ${project.artifactId}, а ${version} на ${project.version}

...