La sfortunata realtà è che una volta che hai moduli sufficientemente interconnessi, è quasi impossibile dimostrare che tutti i riferimenti ai moduli che desideri scaricare saranno rimossi in qualsiasi circostanza. Molte librerie e persino le classi JDK principali conserveranno riferimenti a oggetti o classi per lunghi periodi di tempo, o anche per sempre, e persino un singolo riferimento vagante impedirà che ClassLoader
che ha caricato un modulo sia spazzato via.
Tali problemi sono molto noiosi da risolvere, difficili da rilevare automaticamente e sono molto facili da reintrodurre.
Questo problema alza la sua brutta testa anche con la ridistribuzione di WAR
s in contenitori servlet come Jetty o Tomcat.
Molti sviluppatori scelgono un percorso più pragmatico e dedicano del tempo a sviluppare nuove funzionalità e correggere bug, piuttosto che garantire che il caricamento e lo scaricamento a caldo del codice funzionino al 100% correttamente. Quindi Eclipse consiglia di riavviarti ogni volta che riconfiguri i suoi plugin, poiché non può garantire che tutti i plug-in scaricati vengano caricati o scaricati a caldo correttamente.