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.