Ошибка 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
ИЛИ
-
Запустите выпуск maven из командной строки, используя следующие команды:
mvn release: подготовить -DignoreSnapshots -Dresume = false
mvn release: выполните
Ответ 5
Нет необходимости обновлять версии вручную, так как это занимает много времени, если изменение версии - это все, что вам нужно, есть другая команда, которая обновляет только версии pom, точно так же, как их обновление вручную:
mvn versions:set -DgenerateBackupPoms=false -DnewVersion=1.0.XX-SNAPSHOT