Galera,
Estou com um aplicativo que necessita atualizar um de seus jars em tempo de execução mas não sei como faze-lo.
Já tentei utilizar um Ant para resolver meu problema mas não consegui encontrar uma maneira de executá-lo atravéz do aplicativo.
Será que algum de vocês poderia me dar uma força?
Atualizando jars em tempo de execução
2 Respostas
Nunca fiz isso, mas acho q utilizando o tools.jar dah.
Como ele eh possivel compilar arquivos java como se fosse o javac e outras coisinhas mais. Provavelmente de para criar um JAR com ele tb!
Olá
O jar que carece de atualização a quente você deve abrir nas suas classes. Então no update você substitui as classes modificadas no diretório. Para recarregar as classes na memória use URLClassLoader. E para saber se uma classe mudou ou não, bem isto você pode colocar alquém observando o diretório para ver se há alguma mudança. É relativamente fácil bolar um esquema destes e inclusive carregar novas classes no sistema.
Se seu sistema funciona com clientes espalhados pelo mundo o esquema continua viável mas tem que pensar direitinho como vai fazer no caso de alteração justamente na classe que faz o download das classes do servidor. Possivelmente vc vai precisar de uma outra aplicação funcionando como um launcher para fazer todo o trabalho de bastidores. Neste caso o JavaWebStart associado ao jardiff também pode ser usado para alguma coisa. Mas uma solução taylor made pode ficar bem chique.
[]s
Luca