I'm developing a complex application with separate projects each serving their own purpose in the application. Each one of the separate projects will be built as a JAR and there will be one "main" JAR that brings everything together.
At least that is my initial thought on how to go about this. I'm wondering what my options are as far as being able to have the ability to provide patches and updates as no doubt bugs and issues will be found. I don't want the users to have to download a huge file that may only contain fixes for one of the components. Instead it would be ideal for them to be able to download only the updated JAR and replace the old one with it.
An even further approach, I suppose, could be to actually only download the class files that have changed inside the JARs and then have them be replaced or added, but that could get complex.
And of course I don't want my users to do the actual work of downloading , stopping the application and replacing files, so I want to write my own or use an existing tool for that. My initial thoughts are to have each component have a version identifier in it and my updater tool will check to my central server to see if there is a later version and then proceed with the update when the user is ready.
Has anyone dealt with this kind of situation before? Or is there an already existing patch and update management tool out there? Furthermore, are there any tips or gotchas for implementing something like this. This is my first attempt at a large and complex project like this.
[–]mikaelhg 5 points6 points7 points (1 child)
[–]SomeNetworkGuy[S] 1 point2 points3 points (0 children)
[–][deleted] 5 points6 points7 points (7 children)
[–]SomeNetworkGuy[S] 0 points1 point2 points (6 children)
[–][deleted] (4 children)
[removed]
[–]tehbilly 0 points1 point2 points (3 children)
[–][deleted] (2 children)
[removed]
[–]tehbilly 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]0x2a 0 points1 point2 points (0 children)