Maven исключения конкретной версии в толстую банку - PullRequest
0 голосов
/ 07 ноября 2019

Я работаю в проекте, где Springboot jar и Hive jar создают конфликт из-за дублирующихся версий

   <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-jdbc</artifactId>
        <version>3.1.0.3.1.0.0-78</version>
 </dependency>

Выше jive jar - жирная банка и имеет много дублирующихся зависимостей, в следующем примере вы можете увидеть две версии2.6.0 и 3.1.1.3.1.0.0-78

Теперь, если мы хотим добавить, исключить

        <exclusions>
            <exclusion>
                <artifactId>XX</artifactId>
                <groupId>YYY</groupId>
            </exclusion>
         </exclusions>

Теперь я хочу исключить только версию 2.6.0 и сохранить3 3.1.1.3.1.0.0-78, есть ли вариант, где мы можем определить исключенную версию фляги?

[WARNING] 
Dependency convergence error for org.apache.hadoop:hadoop-auth:2.6.0 paths to dependency are:
+-com.syf.gemfire:jdbc-gemfire-dataloader-pcf:2.0.0
  +-org.apache.hive:hive-jdbc:3.1.0.3.1.0.0-78
    +-org.apache.hive:hive-common:3.1.0.3.1.0.0-78
      +-com.github.joshelser:dropwizard-metrics-hadoop-metrics2-reporter:0.1.2
        +-org.apache.hadoop:hadoop-common:2.6.0
          +-org.apache.hadoop:hadoop-auth:2.6.0
and
+-com.syf.gemfire:jdbc-gemfire-dataloader-pcf:2.0.0
  +-org.apache.hive:hive-jdbc:3.1.0.3.1.0.0-78
    +-org.apache.hive:hive-service:3.1.0.3.1.0.0-78
      +-org.apache.hive:hive-llap-server:3.1.0.3.1.0.0-78
        +-org.apache.hbase:hbase-hadoop2-compat:2.0.2.3.1.0.0-78
          +-org.apache.hadoop:hadoop-mapreduce-client-core:3.1.1.3.1.0.0-78
            +-org.apache.hadoop:hadoop-yarn-common:3.1.1.3.1.0.0-78
              +-org.apache.hadoop:hadoop-auth:3.1.1.3.1.0.0-78
and
+-com.syf.gemfire:jdbc-gemfire-dataloader-pcf:2.0.0
  +-org.apache.hive:hive-jdbc:3.1.0.3.1.0.0-78
    +-org.apache.hive:hive-service:3.1.0.3.1.0.0-78
      +-org.apache.hive:hive-llap-server:3.1.0.3.1.0.0-78
        +-org.apache.hbase:hbase-server:2.0.2.3.1.0.0-78
          +-org.apache.hbase:hbase-http:2.0.2.3.1.0.0-78
            +-org.apache.hadoop:hadoop-auth:3.1.1.3.1.0.0-78

1 Ответ

2 голосов
/ 07 ноября 2019

Чтобы устранить ошибки конвергенции зависимостей, добавьте записи в <dependencyManagement>, в которых вы указываете нужную версию, например

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>3.1.0.3.1.0.0-78</version>
</dependency>

Затем все транзитивно найденные версии заменяются на те, которые вы указали в конфликте. ушел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...