Best practice for packaging add-ons
I am currently in the middle of reworking a custom apache-tomcat application and want to take the opportunity to resolve numerous problems we had with the old version.
A large number of our customers ask for specific customisations of the product which which do for them. The problem is that we are constantly working on the product adding new features/bug fixing etc and this means all the customizations need to be merged in if we upgrade those customers.
To try and solve a the majority of these situations I have been working on a rendering engine. Each screen in the application has a settings file, FreeMarker template and java class to render/process the screen through the use of reflections. These files will exist in a 'standard' directory. A customized version of these files can be placed in a 'custom' directory and these will be automatically used instead. In addition I can add new screens into the 'custom' directory for a customer. The theory is that we can easily upgrade and overwrite the 'standard' directory without touching their customisations.
What I would like to do however is package the three files (or more if required) into a single 'add-on' file. I've not used jars too much and whilst reading up about them found there are a few different archive formats including war, rar (not winrar) and ear. Which would be the most suitable and why? I generally need to include one or more of the following file type: .class .xml .ftl