|Table of Contents|
This tool is shipped with Maven and provides a facility to up or downgrade the current installation to a different version, including a timestamped shapshot. The target environment is setup so that there only one Maven folder on the machine and you control what's installed there
How does it work.
There is a new command line script, shipped with maven - mvnUpdate. When you start it, it connects to a pre-configured repository, retrieves all available version and shows them as a selection list.
If you want fancy - run mvnUpdate -g and it will display the same in gui;
That was the hardest part, now - just select a version and wait for the tool to update Maven instance.
What happens behind the scene.
First of all - the updater connects to a repository and find a all the available versions. Then - after you select a version, it downloads version's CD - Configuration Descriptor and calculates a transitive closure for it. Then it reads the transitive closure of the current installation, and calculates which binaries should be added and which - deleted, delta+ and delta-.
Then it downloads all the delta+ binaries. If it some are not available - it stops the operation and warns you of the not found binaries. If all delta+ are available - updater removes delta- binaries and copies delta+ into maven home. And that is it - you have a new version installed.
There are a lot of options available in this tool.
Short description of all available CLI options
show detailed messages, be more talkative
display GUI, you've seen this one above
displays this help screen
show local savepoints in the version selection list. This adds previously installed versions to the list
maven instance root dir. This is the instance to update
repository url to prepend to the repository list
settings file to use instead of /app/home/.m2/settings.xml
url of the Configuration Descriptor. This allow us to send you a CLI to install an exact version
This is mostly for Maven developers, to prepare CDs. expand dependencies from the supplied LDL to the full transitive closure
also for Maven developers - do not test closure binaries for existence when calculating it
this option is for testing only, and should not be used