I got tired of updating the versions in the 29 POMs that made up a multi-module project by hand. Even after turning off "Build Automatically" in Eclipse, my IDE took a long time to bring up each file. Once and a while, I'd make a cut-and-paste error stuffing the values in the POM. So, I wrote this Java FX app that's available for use via Web Start through the company I work for (Bekwam, Inc).
This application is distributed with an Apache 2.0 license.
This video shows how Maven POM Updater is used.
To use the app, select a JNLP link.
I use SmartGit and after Step #7 see that my working directory has modified POMs. If I want to rollback the Maven POM Updater changes, I discard to reset the files to head.
If there is an error parsing a POM, the offending POM will be presented in red. You can then open the Error Log window to view detailed information.
System Requirements: Maven POM Updater requires Java 8 as enforced by the JNLP.
The current version is 1.3.1 which adds the following features
The previous version was 1.2.0 which added the following features
I plan on opening up the private GitHub repository.
This post is on the construction of the Java FX Notification Overlays used in the app.
MPU uses the Delegate Pattern to manage the complexity of its JavaFX Controllers.
The app wires up its objects using the Google Guice dependency injection framework. Here is a post on how that is set up with JavaFX.
I wrote posts on the cut-and-paste functionality coded in this application. I started by using some standard String manipulation code but then moved to the JavaFX text manipulation methods (replaceText(), etc) then onto the cut() method where I could.
I added a new feature in 1.2.0 that saves data to the client computer using a technique called "muffins" which is a variation on the standard web "cookies" concept.
Although it's easy to work with the String[] args array passed into a main(), Commons Cli can make handling even a simple command line in JNLP even easier. If you're using Maven, this can be added with almost no effort.
There is no warranty with the app or source code. However, you can enter a ticket in the project's ticketing system by sending an email to mavenpomupdater@bekwam.com.