Вы также можете сериализовать ваше состояние (сохранить его в памяти), а затем создать новый экземпляр ClassLoader, указывающий на новые файлы .jar. Затем снова сериализуйте ваше состояние, используя этот новый загрузчик классов. Вы только что изменили нижележащие файлы .jars в исполняемом продукте.
Обратите внимание, что вам не нужно менять загрузчик классов для всего только для части, которая фактически использует файлы .jar. Это может быть сложно сделать вывод, что это за части. И вы можете получить неприятные ошибки при связывании, если они сделаны неправильно. Итак ..
.. для простоты используйте WebStart или предварительный загрузчик, который обновляет .jars и затем запускает основное приложение (в основном то, что WebStart делает для вас).
Причина, по которой вы можете использовать свою собственную версию, заключается в том, что вы можете использовать свой собственный формат для .jars, шифрования, других форматов упаковки и т. Д.