Opa!
Realmente ele não carrega todas as classes…
Eu criei uma classe que herda classloader e reescrevi alguns métodos, depois disso utilizo reflexão para chamar o método main da aplicação, assim para cada loadClass que a VM chamar desta aplicação será chamado o loadClass que eu reescrevi na classe, e lá eu coloquei de onde ele vai ler as classes, por exemplo em um repositório que eu determino…
Eu baixei o fonte do Tomcat e vi que é exatamente isso que ele faz! 
O ponto agora é saber como ele faz para recarregar uma classe que já foi chamada no loadClass… pelo que vi isso não é possivel pois a classe já está na memória e existe referências desta classe… o que ele faz(aparentemente) é utiliza JMX e trabalhar a aplicação como serviço, assim se ele sentir( pela data e hora do jar) que trocaram o jar ele dá um stop() no serviço e em sequida um start()…
Segunda-Feira vou implementar algo com o JMX para ver se é isto mesmo… :)… pelo menos já tenho a idéia rs*
Isso tá dando um trabalho :razz: … mas vai ficar show de bola!
Atn.
Dennys Fredericci
http://www.dennys.eti.br