Я довольно новичок в Maven.Изготовление смеси релизов и снимков из Maven
Я предполагаю, что я ищу в систему, в которой:
- Каждый раз, когда я нажимаю на SCM, мой автоматизированный инструмент для сборки развертывает снимок артефакт.
- Иногда, запускается вручную, автоматическая сборка также развертывает артефакт выпуска.
В настоящее время у меня есть первый из этих, но не второй. POM говорит:
<version>0.0.1-SNAPSHOT</version>
... и поэтому Maven строит и развертывает моментальный снимок.
Лучшее предложение, которое у меня было до сих пор, - это отредактировать POM, чтобы заменить «SNAPSHOT» на «RELEASE», зафиксировать/нажать, дождаться сборки, затем сменить его, зафиксировать/нажать. Излишне говорить, что я делаю не вот так.
Каков правильный путь для достижения этой цели? Два файла POM? (Мне тоже это не нравится, так как у них будет много дублирования). Какой-то вариант командной строки, который переопределяет version
?
В случае, если это имеет значение, наша система сборки - TeamCity, развертывающая в Artifactory. Однако я надеюсь на более общий ответ.
Спасибо. «как известно, хрупкая/медленная/багги/отягчающая/и т. д.» предлагает мне, что это не «лучший способ» сделать это. Я хочу понять, нужно ли делать что-то не так, и если да, то в чем дело. – slim
maven-release-plugin - действительно рекомендуемый способ сделать это, и FWIW всегда стабилен для меня. Похоже, есть также плагин интеграции Maven/Team City/Artifactory для релизов: http://www.jfrog.com/confluence/display/RTF/TeamCity+Artifactory+Plugin+-+Release+Management – Shane
maven-release-plugin мой любимый плагин для создания релизов. Я полностью рекомендую maven-release-плагин, если вы создаете чистые java-проекты, такие как jar, war или ear. – shylynx