Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Maven for project distribution

I have an Project that I distribute by sending out large packages. I'd like to know if there is a user friendly way of using Maven to distribute updates of the project? I'd need something like what is done for updating softwares like Firefox or Acrobat Reader. Check a respository, warn user of an update, download and reconfigure. All within a simple and friendly interface. Alternative open source java projects are welcome.

like image 534
Thomas Avatar asked Nov 15 '22 16:11

Thomas


1 Answers

If your project is a library: You need to set up a public maven repository (or use Maven Central). This way, your users can fetch the latest version of your library by updating their POM.

If your project is something else, you can use a Maven repository to keep the packages in a place for easy deployment for you (and easy download for everyone else). Next, you'll need to point your software to the site and download the file "maven-metadata.xml" once in a while. Maven will create and manage this file for you when you say "mvn deploy". The file contains the latest version numbers.

All you have to do is to download this small file and examine it. If there is a new version, open a dialog for your user so they can decide to download it. I suggest to offer "Only download" and "Download and upgrade" as separate options because users like to download some time in the background and then install between two projects. They don't like nagging dialogs ("New version available. Download and ruin your day now?" ... "I asked five minutes ago. Download now!" ... "Downloading anyway. Credit card details found on your hard drive. Selecting other important software you need. Purchasing now. Have a nice day!" ;) ).

like image 76
Aaron Digulla Avatar answered Dec 22 '22 05:12

Aaron Digulla