title: Auto update java application
body: <p>I am building Java application that will be downloaded for free from the web. I want to add an auto update feature in case of fixing bugs or enhancing the application. For auto update I split my program to 3 units.</p>
  
  <ol>
  <li>Base - very small code that will check for new version of second unit(Uploader) update it and run it</li>
  <li>Uploader will check for new update of the project and download any update and run it </li>
  <li>Main program- this contains the main application and contains all modules.</li>
  </ol>
  
  <p>I did above for 2 reasons: </p>
  
  <ol>
  <li>I don't want the client to restart the application in case of any update</li>
  <li>As the application still new I don't want to have any problem where user will not be able to run or update the application, so the Base is very small and it hardly has errors.</li>
  </ol>
  
  <p>Is there a common Java method/third party to do the auto update?</p>