Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > java.lang.LinkageError: duplicate class definition

Estoy intentando hacer un classloader que recarge unos plugin cuando se modifiquen. He conseguido que se lean desde una ubicacion especial pero no logro limpiar las clases ya cargadas o recargarlas.
He probado a crear otro classloader
A eliminarlas del objeto classes
A recargarlas utilizando defineclass y no logro encontrar la forma de hacerlo, es como si estuvieran en memoria en un sitio al que no tengo acceso.
Sabeis alguno por donde puedo tirar para intentar recargar clasess ya cargadas. Cualquier ayuda os la agradeceria.

febrero 3, 2014 | Unregistered Commenterbatch4j

http://tutorials.jenkov.com/java-reflection/dynamic-class-loading-reloading.html#dynamicreloading

Que complicado y problematico veo esto... por que no pones simplemente un mensaje al usuario para que reinicie la aplicacion, como hace Eclipse?

febrero 3, 2014 | Unregistered CommenterUnoPorAhi

Acabo de leer tu post y habia visto el mismo tutorial. Muchisimas gracias, ya te contare si funciona.
No es un capricho. Resulta que hay unos 100 desarrolladores y 100 probadores de una web, algunas pantallas tardan 45 minutos en prepararlas para probar por tema de datos, por lo que aunque utilize wildfly para reiniciar en menos de 3 segundos, si lo hago a menudo no podrian trabajar.
La idea es que los elementos mas generales todos extienden de las mismas clases, se podria hacer una recarga. Si lo hago utilizando un ear, war perderia la sesion del usuario. Lo suyo seria disponer de un modulo aislado y recargarlo. Como luego se quiere que se haga desde diferentes path .... llego a complicarme la vida.

febrero 6, 2014 | Unregistered Commenterbatch4j