How to update the maven version without pom backup files
Asked Answered
S

4

59

How do you run maven with the versions plugin to update the version inside several pom.xml files and not get the annoying pom.xml.versionsBackup files? (I have my poms in version control, so I don't need a backup).

I run this command to update the version:

mvn versions:set -DnewVersion=3.8.0-SNAPSHOT

Splashy answered 12/4, 2013 at 18:17 Comment(1)
adding .versionsBackup to .gitignore is also usefulLovesick
S
113

To prevent creating backup files, use generateBackupPoms instead:

mvn versions:set -DgenerateBackupPoms=false -DnewVersion=3.9.0-SNAPSHOT

I also saw that you can set up generateBackupPoms in the plugin section of a pom.xml if you want to do it that way.

Note if you are using eclipse, you can run the command using a run configuration like this:

enter image description here

See also: http://www.mojohaus.org/versions-maven-plugin/set-mojo.html

Splashy answered 12/4, 2013 at 18:17 Comment(5)
That helped, but a tip: with -DnewVersion=${string_prompt} eclipse presents a dialog for you to enter the version number, so you don't need to update your run configuration all the time (I also put the -D parameters to the Parameters further down, without the -D there). I think its much more convenient.Centenarian
only problem: if you hit cancel that prompt (escape), it still runs and does useless bogus. Would like to have a way to catch that cancel, but failed to find one. If anyone knows, please respond here.Centenarian
Awesome, would be nice to know if we can do this in Intellij too. I'll start searching.Coulombe
Its not working on my jenkins machine. I am using -DgenerateBackupPoms=false but still backup poms are created. This is my command -> mvn build-helper:parse-version versions:set \ -DnewVersion=\\\${parsedVersion.majorVersion}.\\\${parsedVersion.minorVersion}.\\\${parsedVersion.nextIncrementalVersion}-SNAPSHOT -DprocessAllModules -DgenerateBackupPoms=falseEagleeyed
In Eclipse, the newVersion=${string_prompt} will only work if you add in the Parameter section below, but it works.Purposeless
S
38

After mvn versions:set, run the command mvn versions:commit.

All of the pom backups will be deleted.

Scrubland answered 21/9, 2015 at 8:26 Comment(0)
F
8

mvn versions:set -DgenerateBackupPoms=false deletes the backups and will also ask the new version to be set instead of passing the version in the command.

Ferriage answered 17/1, 2017 at 22:1 Comment(0)
C
1
mvn -B versions:set -DnewVersion=${APP_VERSION} -DgenerateBackupPoms=false 
Comeback answered 7/9, 2023 at 17:22 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.