Sé que esta puede ser una pregunta tonta para los programadores experimentados. Pero tengo una biblioteca (un cliente http) que requieren algunos de los otros frameworks / jars utilizados en mi proyecto. Pero todos requieren diferentes versiones principales como:
httpclient-v1.jar => Required by cralwer.jar
httpclient-v2.jar => Required by restapi.jar
httpclient-v3.jar => required by foobar.jar
¿Es el cargador de clases lo suficientemente inteligente como para separarlos de alguna manera? ¿Probablemente no? ¿Cómo maneja esto el cargador de clases, en caso de que una clase sea la misma en los tres frascos? ¿Cuál está cargado y por qué?
¿El cargador de clases solo recoge exactamente un frasco o mezcla clases arbitrariamente? Entonces, por ejemplo, si una clase se carga desde la Versión-1.jar, ¿todas las demás clases cargadas desde el mismo cargador de clases irán todas al mismo jar?
¿Cómo maneja este problema?
¿Existe algún truco para "incorporar" de alguna manera los frascos en el "required.jar" para que sean vistos como "una unidad / paquete" por el Classloader
, o de alguna manera vinculados?