Ошибка Maven: "У вас нет проекта SNAPSHOT в списке проектов реакторов".

Что это значит? Не можете найти помощь через Google.

>  mvn release:prepare
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Base 1.0.5
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-release-plugin:2.3.2:prepare (default-cli) @ base ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.386s
[INFO] Finished at: Tue Oct 08 08:22:46 EST 2013
[INFO] Final Memory: 9M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3.2:prepare (default-cli) on project base: You don't have a SNAPSHOT project in the reactor projects list. -> [Help 1]

Ответ 1

release: команда prepare должна подготовить ваш проект снимка к релизу. Похоже, у вас нет такого проекта снимка.

Вот полная информация о том, что он будет делать: http://maven.apache.org/maven-release/maven-release-plugin/examples/prepare-release.html.

Если вы уверены, что должны выпускать, вы должны работать над модулем maven, версия которого заканчивается на -SNAPSHOT.

Обновление: как замечено @khmarbaise в комментариях, если ваш релиз не удался, вы должны сделать release:rollback чтобы вернуться к предыдущему состоянию. Обратите внимание, что он не поддерживается, если вы выпускаете через jenkins (проблема с jenkins), и он не будет откатывать теги.

Ответ 2

Не нужно вручную редактировать pom.xml. Вы можете использовать "mvn versions: set" для пакетного обновления, что-то вроде этого:

mvn versions:set -DnewVersion=1.0.3-SNAPSHOT

Ответ 3

У меня была такая же ошибка с Дженкинсом. В предыдущем выпуске Дженкинс обновил версию POM до версии без моментального снимка, но сборка завершилась неудачей, прежде чем Дженкинс снова смог установить версию в версию -SNAPSHOT. После этого при выпуске высвобождается ошибка, описанная выше.

Исправить это просто: просто вручную измените версию своего приложения в pom.xml на версию -SNAPSHOT.

Ответ 4

Я знаю, что это старый вопрос, но недавно у меня была эта проблема, и я нашел 2 решения, которые другие могут найти полезными. Я использую бамбук как инструмент CI. Проблема была в том, что в бамбуковой ошибке произошла ошибка, оставляя бамбук в неправильном состоянии. Он локально обновил мой проект pom.xml с новой версией, но не проверил это в SVN. Два решения, которые работали для меня, были:

Либо

  • Удалите каталог bamboo build-dir для проекта и запустите выпуск еще раз: rm -rf/opt/bamboo-home/xml-data/build-dir/PROJECT_NAME-RELEASE-JOB1

ИЛИ

  1. Запустите выпуск maven из командной строки, используя следующие команды:

    mvn release: подготовить -DignoreSnapshots -Dresume = false

    mvn release: выполните

Ответ 5

Нет необходимости обновлять версии вручную, так как это занимает много времени, если изменение версии - это все, что вам нужно, есть другая команда, которая обновляет только версии pom, точно так же, как их обновление вручную:

mvn versions:set -DgenerateBackupPoms=false -DnewVersion=1.0.XX-SNAPSHOT