У меня есть два проекта maven, давайте назовем их master
и aux
. Master
зависит от aux
, а также от конкретной версии org.apache.httpcomponents.httpclient
. Aux
зависит от более поздней версии org.apache.httpcomponents.httpclient
.
1010 *, например *
<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>
Однако aux
зависит от классов, найденных только в более новой версии httpclient
, а зависимости master
от httpclient
несовместимы, так что, какую бы версию я исключил, вызовы REST не выполняются в ожидаемые места.
Есть ли способ потребовать aux
для использования более новой зависимости и master
для использования более старой?
Я знаю, что могу согласовать aux
и master
, исправив их, чтобы иметь возможность использовать одну и ту же зависимость, но это было бы далеко от идеала.