конфликт транзитивной зависимости - PullRequest
0 голосов
/ 04 октября 2018

У меня типичная проблема переходных зависимостей, для которой я не смог найти разрешение.

В моем проекте используются spark и hadoop-tools зависимости.spark использует hadoop-mapreduce-client-core, а hadoop-tools использует hadoop-core

hadoop-core и hadoop-mapreduce-client-core конфликтуют друг с другом.Другими словами, hadoop-mapreduce-client-core является более новой версией (mapreduce2) hadoop-core (mapreduce1).

В этом проекте у меня будут некоторые исполняемые файлы, которые запускают задания spark, а некоторые - Distcp(зависит от hadoop-tools).Как мне указать эту связь / зависимость / силу в build.gradle, чтобы и потоки spark, и потоки hadoop-tools находили свои собственные зависимости во время выполнения.

1 Ответ

0 голосов
/ 05 октября 2018

Если у вас есть классы с одинаковым FQCN в 2 разных банках, и вы хотите продолжать использовать оба в разных сценариях (поскольку они различаются по их идентификатору артефакта), то лучший и чистый способ добиться этого - разбить наотдельный модуль.

Пожалуйста, обратитесь к многопроектным сборкам Gradle

https://docs.gradle.org/current/userguide/multi_project_builds.html

...