Есть ли способ добиться этого?
Я ожидаю, что так.Но ваша работа - заставить его работать.А если серьезно, то согласие заключается в том, что вы заново изобретаете колесо.
Будет ли разрешено перезапись?
Вы не можете полагаться на возможность перезаписи файла JAR, которыйиспользуется, потому что вы в данный момент его выполняете.
Существуют различные способы (*), с которыми вы можете обойти это, но они сводятся к тому, что у вас есть какой-то специальный пусковой механизм, который заботится о загрузке, обновлении и т. д.на ... и затем запускает или перезапускает ваше реальное приложение.И, в основном, это то, что делает JNLP ... отсюда и наблюдение, что вы предлагаете заново изобрести колесо.
(* Я бы добавил, что эти пути довольно очевидны для меня. И если онидля вас это не очевидно, это еще одна причина, по которой вам лучше использовать JNLP, иначе вы рискуете получить квадратное колесо.)