versions:set-property fails when property in pom is empty (empty-element tag) (original) (raw)
When a property in a pom is empty represented with empty-element tag
...
<properties>
<someProperty/>
</properties>
...
then when you try to set this property
mvn versions:set-property -DnewVersion=test -Dproperty=someProperty
you receive this error:
[INFO] --- versions:2.18.0:set-property (default-cli) @ test ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.845 s
[INFO] Finished at: 2025-08-01T11:41:40+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:versions-maven-plugin:2.18.0:set-property (default-cli) on project test: Execution default-cli of goal org.codehaus.mojo:versions-maven-plugin:2.18.0:set-property failed: start 445, end 430, length 765 -> [Help 1]
Workaround:
Don't use empty-element tag:
<properties>
<someProperty></someProperty>
</properties>
-> versions:set-property works fine in this case.
However, other plugins like maven-release-plugin might turn such properties back to empty-element tag on transformation.