Maven переопределяет project.version из командной строки
Интересно, можно ли переопределить переменную project.version/version в maven через командную строку?
Не работает следующее:
mvn deploy -Dversion=1.0-test-SNAPSHOT
mvn deploy -Dproject.version=1.0-test-SNAPSHOT
Заранее благодарим за помощь!
Мой pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>just.another.company.name</groupId>
<artifactId>my-pom</artifactId>
<version>1.3-SNAPSHOT</version>
<name>My Module</name>
<packaging>jar</packaging>
<description>POM Project for My Module</description>
</project>
Ответы
Ответ 1
Просто вы не можете переопределить project.version
. Попробуйте:
mvn versions:set -DnewVersion=<version>
Обычно я начинаю с обновления parentPom
mvn versions:set -DnewVersion=1.0.3-SNAPSHOT
Этого было бы достаточно, если родительский pom содержал все дочерние проекты, если нет, вам нужно будет перейти в суперпроект, содержащий весь дочерний проект, и выполнить
mvn versions:update-child-modules
Также два предыдущих шага будут достаточно, если parentPom существует в относительном пути, если вам не потребуется устанавливать проект parentPom с новой версией
mvn install
Обычно этого будет достаточно, если модуль не зависит от другого модуля. если вы это сделаете, объявите его версию как project.version, как это, и она будет автоматически отражена
<version>${project.version}</version>
Проверьте maven Версии плагинов.
Ответ 2
Да, вы можете переопределить версию проекта, передав требуемую переменную из командной строки.
Убедитесь, что вы используете переменную в pom.xml
Например:
mvn deploy -Dversion=1.0-test-SNAPSHOT
in pom.xml
<version>${version}</version>
Это должно быть выбрано во время выполнения. Если этот подход не работает, можете ли вы показать, как вы используете их в своем pom.xml
?
Ответ 3
mvn -Dversion=1.0-test-SNAPSHOT deploy
.
Синтаксис: mvn [опции] [цели] [фаза]