У меня есть два следующих проекта maven
pom.xml (parent)
--
pom.xml (aggregate, extends parent)
|
|--pom.xml (module, extends aggregate)
Единственное место, где определена версия артефакта, — это родительский объект. Другие проекты или их модули наследуют версию прямо или косвенно от родителя. Я хочу автоматически сопоставлять совокупную версию и версии ее модулей с родительскими.
После того, как я обновил родительскую версию и mvn install
ее, я пытаюсь использовать versions-maven-plugin для обновления совокупного проекта и его модулей, чтобы они соответствовали новому родителю с помощью следующей команды:
mvn versions:update-parent versions:update-child-modules clean install
Родительский агрегат и родительские модули обновлены правильно, однако цель установки по-прежнему устанавливает версию до изменений, внесенных version-maven-plugin. Если я хочу установить обновленную версию, мне нужно вызвать mvn clean install
отдельно после плагина versions
. Почему install
не выбирает изменения, сделанные плагином versions
, в той же команде? Я также пытался включить versions:commit
безрезультатно. Вот журнал сборки, чтобы показать, что происходит.
tutoivon@IT-L-R90HKRNH MINGW64 ~/Desktop/mavenversiontest/aggregate (master)
$ mvn versions:update-parent versions:update-child-modules clean install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] aggregate
[INFO] module
[INFO] submodule
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building aggregate 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.4:update-parent (default-cli) @ aggregate ---
[INFO] Updating parent from 1.0.0 to 2.0.0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building module 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.4:update-parent (default-cli) @ module ---
[INFO] Project's parent is part of the reactor
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building submodule 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.4:update-parent (default-cli) @ submodule ---
[INFO] Project's parent is part of the reactor
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building aggregate 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.4:update-child-modules (default-cli) @ aggregate ---
[INFO] Module: module
[INFO] parent was fi.tuomas.testi:aggregate:1.0.0
[INFO] updated to fi.tuomas.testi:aggregate:2.0.0
[INFO] Module: module/submodule
[INFO] parent was fi.tuomas.testi:module:1.0.0
[INFO] updated to fi.tuomas.testi:module:2.0.0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building aggregate 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ aggregate ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ aggregate ---
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\aggregate\1.0.0\aggregate-1.0.0.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building module 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ module ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ module ---
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\module\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\module\1.0.0\module-1.0.0.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building submodule 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ submodule ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ submodule ---
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\module\submodule\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\submodule\1.0.0\submodule-1.0.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] aggregate .......................................... SUCCESS [ 0.125 s]
[INFO] module ............................................. SUCCESS [ 0.010 s]
[INFO] submodule .......................................... SUCCESS [ 0.011 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.626 s
[INFO] Finished at: 2017-09-05T11:03:49+03:00
[INFO] Final Memory: 15M/303M
[INFO] ------------------------------------------------------------------------
tutoivon@IT-L-R90HKRNH MINGW64 ~/Desktop/mavenversiontest/aggregate (master)
$ mvn clean install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] aggregate
[INFO] module
[INFO] submodule
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building aggregate 2.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ aggregate ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ aggregate ---
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\aggregate\2.0.0\aggregate-2.0.0.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building module 2.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ module ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ module ---
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\module\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\module\2.0.0\module-2.0.0.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building submodule 2.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ submodule ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ submodule ---
[INFO] Installing C:\Users\tutoivon\Desktop\mavenversiontest\aggregate\module\submodule\pom.xml to C:\Users\tutoivon\.m2\repository\fi\tuomas\testi\submodule\2.0.0\submodule-2.0.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] aggregate .......................................... SUCCESS [ 0.333 s]
[INFO] module ............................................. SUCCESS [ 0.012 s]
[INFO] submodule .......................................... SUCCESS [ 0.012 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.448 s
[INFO] Finished at: 2017-09-05T11:04:10+03:00
[INFO] Final Memory: 7M/240M
[INFO] ------------------------------------------------------------------------