I have written a java application, which is used by many people in our organization. I often have to make changes to the application, so i deploy the new .jar file overwriting the existing one, while other people may have it open (i don't know why windows is permitting me this, when it doesn't permit me to rename or delete the jar...). This creates anomalies in the application, and if someone tries to close and reopen it while someone else has it open, the application doesn't start at all.
I know that the most clean solution would be to close all the instances of my appilcation before deploying the new version, but this is near impossible since the application is run by many people (even by customers outside our organization).
What could i do? Is there any other valid solution?