Tengo dos proyectos maven, vamos a llamarlos master
y aux
. Master
depende de aux
, y también de una versión específica de org.apache.httpcomponents.httpclient
. Aux
depende de una versión posterior de org.apache.httpcomponents.httpclient
.
p.ej
<project...>
<artifactId>master</artifactId>
<groupId>com.my-company</groupId>
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>earlier version</version>
</dependency>
<!--<uses later version of http client>-->
<dependency>
<groupId>com.my-company</groupId>
<artifactId>aux</artifactId>
</dependency>
...
</dependencies>
...
</project>
Sin embargo, aux
depende de las clases que solo se encuentran en la versión más reciente de httpclient
, y master
las dependencias de httpclient
no son compatibles con el reenvío, por lo que, independientemente de la versión que excluya, las llamadas REST fallarán en los lugares esperados.
¿Hay alguna forma de requerir el aux
uso de la dependencia más nueva y master
la más antigua?
Sé que puedo reconciliarme aux
y master
parchearlos para poder usar la misma dependencia, pero esto estaría lejos de ser ideal.
No puede tener varias versiones de la misma biblioteca / clases en el classpath al mismo tiempo. Tendría que separar 'master' y 'aux' en jarras separadas, incrustar la versión necesaria httpclient
y cargar cada jarra con su propio cargador de clases.
Hay un marco llamado OSGi que hace exactamente esto. Podría ser excesivo para su aplicación, pero si desea comenzar, puede echar un vistazo a OSGi enRoute .
Soy nuevo en Android Studio y estoy pasando por intentos. Estoy creando una aplicación de registro que toma información del usuario en las primeras 4 actividades y las muestra por completo en las vistas respectivas el quinto ...
Estoy estudiando para la prueba de introducción a la ciencia de la mañana y necesito poder determinar el valor de las diferentes operaciones. Con mis cálculos, t debería ser igual a 8. Pero al compilarlo devuelve 11. ¿Por qué ...
El Javadoc para ConcurrentSkipListMap.compute (K, BiFunction) establece: Intenta calcular una asignación para la clave especificada y su valor asignado actual (o nulo si no hay ninguna asignación actual). Los ...
¿Hay una estructura de datos en Java que debería usar para esta situación? Actualmente, tengo una clase de línea plana de 12000 con una gran cantidad de funciones. Cada función simplemente devuelve una cadena. público ...