Можно повторно запустить maven release:perform, создав вручную отредактированный release.properties файл в корневой папке. Этот файл должен определять эти два свойства: scm.url и scm.tag. Вот возможный пример:
Похоже, я сделал mvn -DdryRun=true release:perform, и это удалило файл release.properties со стадии подготовки.
Поэтому я добавляю -DconnectionUrl к команде, чтобы указать URL-адрес тега
Ответ 3 · рейтинг 6 · Igor
Он должен работать. У меня была аналогичная проблема, но в моем случае выполнить не удалось из-за сетевой ошибки, и мне пришлось перезапустить ее с чем-то вроде:
mvn release:perform -rf :{ARTIFACT ON WHICH IT FAILED} -DconnectionUrl=scm:svn:{URL TO TAG}
Ответ 4 · haridsv
У меня было такое же исключение в нашей автоматизации CI, и оказалось, что это связано с тем, что в каталоге target/checkout уже есть сборка выпуска. Для одного из проектов нам пришлось внедрить импровизированную сборку выполнения maven release между реальными шагами maven release:prepare и release:perform. В рамках импровизации тег выпуска проверяется на target/checkout, и я заметил, что если этот каталог не удалить, это приведет к отказу release:perform с ошибкой No SCM URL was provided to perform the release from. Не знаю, имеет ли это значение, но мы также используем опцию -DlocalCheckout=true.
Ответ 5 · Grim
Сообщение
не означает URL-адрес SCM в pom.xml!
Есть два типа SCM-URL:
Папка магистрали (для разработки)
Папка тегов (для маркировки релиза)
В pom.xml вы указываете url-адрес папки-ствола. То, что требуется для выпуска: выполнить, - это URL-адрес папки-тега. Вы можете указать параметр -DconnectionUrl.
Обычно вы используете prepare и perform в одном вызове maven. Prepare сделает все подготовительные работы и передаст некоторые ресурсы системе управления версиями, используя комментарий [maven-release-plugin] prepare release XXX- НО НЕ ВСЕ ФАЙЛЫ ЗАВЕРШЕНЫ! Один важный файл не привязан к системе контроля версий - release.properties. Этот файл используется, если вы опускаете -DconnectionUrl.
Проблема возникает во время perform, потому что для проверки / фиксации требуется release.properties или - DconnectionUrl соответственно.