我知道有很多關於此主題的問題。但他們主要是關於保持類和變量的狀態。在JVM運行時期間重新加載類
我想讓我的應用程序獲得它的最新版本(全部打包在一個jar中)並重新啓動。
我的應用程序使用main()函數只是作爲一個起點,所以我只是初始化一個類,整個應用程序從那裏開始。這讓我想到了。我可以在main()中停止整個應用程序。理論上,覆蓋舊的JVM,然後JVM可以重新加載除包含main()的類以外的所有類,並且main將重新初始化所有內容並運行它。
這太麻煩了嗎?我應該只使用一個只能處理啓動所述jar並下載它的最新版本的引導程序jar。
bootstrap shell腳本可能是最簡單的。 –
你想在運行時改變jar嗎?並不想重新啓動JVM? – Vipin
從我的猜測,你至少需要a)爲主類和可重載類使用不同的jar b)在你的主類中僅使用反射c)最有可能用於可重載jar的不同ClassLoader – EasterBunnyBugSmasher