Как я могу обновить свойство в Maven POM?

У меня есть два проекта Maven на высшем уровне,backend а такжеfrontend, что продвигать версии в своем индивидуальном темпе. Поскольку у каждого есть несколько модулей, я определяю свои версии зависимостей вdependencyManagement разделы в родительском / агрегатном POM и используют свойство для номера версии.

Я хочу чисто обновить свойство с номером версии наfrontendжелательно произвольно, но я могу согласиться с требованием живой версии для соответствия. Я пытался использоватьversions:update-propertyно эта цель кажется совершенно не функциональной; Независимо от того, существует ли на самом деле соответствующая версия, я получаю следующие выходные данные отладки:

$ mvn versions:update-property -Dproperty=frontend.version -DnewVersion=0.13.2  -DautoLinkItems=false -X
...
[DEBUG] Searching for properties associated with builders
[DEBUG] Property ${frontend.version}
[DEBUG] Property ${frontend.version}: Looks like this property is not associated with any dependency...
[DEBUG] Property ${frontend.version}: Set of valid available versions is [0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.10.0, 0.10.1, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.13.2, 0.13.3]
[DEBUG] Property ${frontend.version}: Restricting results to 0.13.2
[DEBUG] Property ${frontend.version}: Current winner is: null
[DEBUG] Property ${frontend.version}: Searching reactor for a valid version...
[DEBUG] Property ${frontend.version}: Set of valid available versions from the reactor is []
[INFO] Property ${frontend.version}: Leaving unchanged as 0.13.1
[INFO] ------------------------------------------------------------------------

Я указал-DautoLinkItems=falseи это, кажется, не имеет никакого эффекта;versions-maven-plugin по-прежнему сканирует все мои POM на предмет соответствия зависимостей, подбрасывает руки и выходит. Я также пытался установитьsearchReactor вfalse для этого свойства в конфигурации плагина. Похоже, что плагин (1) неправильно сканирует зависимости, даже когда я прямо сказал, что игнорировать их, и (2) даже отфильтровывает явное конкретное совпадение.

Есть ли простой способ переписать запись свойства Maven в определенное значение, либо принудительноversions-maven-plugin делать то, что я говорю, не подтверждая номер версии или используя другую цель? Я предпочел бы избежать такого инструмента, какsed он не понимает XML (как я рекомендовал в аналогичном вопросе), но я бы согласился с простой манипуляцией с XPath.

Ответы на вопрос(6)

Ваш ответ на вопрос