JVM - problema ao carregar versões diferentes do jar

1 resposta
rmala_ti

Fiz uma pesquisa mas não consegui encontrar nenhuma solução para o meu problema.

Imagine a seguinte situação:

tenho dois jars em versões diferentes (a maioria das classes se repetem mas com modificações em cada versão).

xpto001.jar e xpto002.jar

1- executo o xpto001.jar e a JVM carregas suas classes e roda corretamente.

2- sem encerrar a JVM executo o xpto002.jar, mas neste momento a JVM ainda utiliza o jar que foi carregado primeiro,
ou seja, está com as classes do xpto001.jar em memória e não da xpto002.jar. E isso é um problema!

Quero garantir que a cada chamada a JVM utilize as classes corretas do JAR que eu estiver executando
e não faça o reaproveitamento de instâncias já carregadas na memória.

Sem ter que matar a JVM, existe alguma forma de fazer com que ela interprete um jar independente do outro?
Ou alguma forma de limpar a memória e fazer com que a cada chamada ela carregue as classes do jar corretamente?

Se alguém puder ajudar, eu agradeço.

Valeu.

1 Resposta

bombbr

Se eu entendi bem o que vc necessita é de classloaders personalizados de forma que os seus JARs fiquem isolados um do outro.
Pesquise sobre ClassLoader.

Criado 23 de agosto de 2011
Ultima resposta 23 de ago. de 2011
Respostas 1
Participantes 2